01 2013 档案

摘要:iOS中视图是一个应用的重要组成部分,功能的实现与其息息相关,而视图控制器控制着视图,其重要性在整个应用中不言而喻。视图生命周期与视图控制器关系以视图的5种状态为基础,我们来系统的了解一下视图控制器的生命周期。在视图不同的生命周期,视图控制器会回调不同的方法。viewDidLoad方法:视图控制器已被实例化,在视图被加载到内存中的时候调用该方法,这个时候视图并未出现。在该方法中通常进行的是对所控制的视图进行初始化处理。视 图可见前后会调用viewWillAppear:方法和viewDidAppear:方法;视图不可见前后会调用viewWillDisappear:方 法和viewDidDisap 阅读全文
posted @ 2013-01-30 09:26 智捷iOS课堂 阅读(1477) 评论(2) 推荐(1) 编辑
摘要:iOS设计规范中要求,当应用退出的时候(包括被终止运行时候),画面中UI元素状态需要保持的,当再次进来的时候看状态与退出是一样的。iOS6之后苹果提供以下API使得UI状态保持和恢复变得很容易了。在iOS6中我们可以在3地方实现状态保持和恢复:应用程序委托对象视图控制器自定义视图为了演示这个功能实现,我们把基于故事板的HelloWorld工程改造一下,在画面中添加一个文本框用户在文本框中输入一些内容,应用程序退出并且终止后再次进来的时候,文本框中还会保持原来输入的内容。然后在IB的Scene中选中View Controller,打开右边的标识检查器,设置Restoration ID(恢复标识) 阅读全文
posted @ 2013-01-28 10:39 智捷iOS课堂 阅读(1743) 评论(0) 推荐(1) 编辑
摘要:nib、xib与故事板如果大家使用过苹果的官方资料,一定会发现某些资料上会提到nib文件,那么nib与xib是怎样的一种关系呢?最初只有nib文件,后来将其更名为xib,但大家一直沿袭nib这个叫法(即称xib文件为nib文件),所以目前为止,nib等同于xib。xib文件采用xml格式。前文已提到故事板是用来替代xib的,那么两者除后缀名外,还存在哪些差异呢?首先,在数量上,使用故事板技术时,一个工程只有一个故事板文件。当使用xib技术时,xib在数量上与视图控制器相对应,而一个工程可能会有很多视图控制器,相应地就会有很多xib文件。其次,故事板与视图的关系可以在IB设计器中很明显地体现,而 阅读全文
posted @ 2013-01-25 16:54 智捷iOS课堂 阅读(2788) 评论(6) 推荐(0) 编辑
摘要:基于故事板的HelloWorld工程Storyboard(故事板)是用来替代xib的技术,也是iOS 5最重要的新特性之一。我们用Storyboard(故事板)重构HelloWorld。使用故事板重构HelloWorld勾选“Use Storyboards”项。工程创建完成之后,通过导航进入MainStoryboard.storyboard添加Label控件 阅读全文
posted @ 2013-01-23 15:39 智捷iOS课堂 阅读(334) 评论(0) 推荐(0) 编辑
摘要:创建基于nib的HelloWorld工程创建工程启动Xcode,点击File→New→Project菜单,在打开的Choose a template for your new project界面中,选择Single View Application工程模板然后点击Next按钮,随即出现界面。这里我们需要按照提示并结合自己的实际情况和需要输入相关内容。下面简要说明选项。Product Name:工程名字。Organization Name:组织名字。Company Identifier:公司标识(很重要)。一般是将公司的域名倒过来输入进去(如com.51work6),这类似于Java中的包命名。 阅读全文
posted @ 2013-01-23 15:29 智捷iOS课堂 阅读(1003) 评论(2) 推荐(0) 编辑
摘要:应用测试方法应用测试是测试应用程序的一些功能,这个功能具体到点击一个按钮触发一个事件,因此它主要是测试表示层。我们看看视图控制器ViewController.m中有那些方法需要测试,然后再来设计测试用例。@implementation ViewController- (void)viewDidLoad{[super viewDidLoad];}- (void)didReceiveMemoryWarning{[super didReceiveMemoryWarning];}- (IBAction)onClick:(id)sender {//关闭键盘[self.txtRevenue resignF 阅读全文
posted @ 2013-01-21 18:10 智捷iOS课堂 阅读(1599) 评论(3) 推荐(2) 编辑
摘要:应用测试和逻辑测试添加OCUnit到工程时候,我们提到过,应用测试(Application Testing)和逻辑测试(Logic Testing)两个概念,它们并非是OCUnit中的概念,而是单元测试中概念。应用测试是对整个应用程序进行的测试,设计测试用例时候要考虑到运行环 境等因素,例如在测试JavaEE时候需要考虑Web容器和EJB容器等环境问题。而逻辑测试则是轻量级的,只测试某个业务逻辑对象的方法或算法正确性。编写OCUnit测试方法每一个单元测试用例对应于测试类中的一个方法,因此测试类分为:逻辑测试类和应用测试类,在设计测试用例时候,逻辑测试和应用测试也是不同的。编写 OCUnit测 阅读全文
posted @ 2013-01-21 13:11 智捷iOS课堂 阅读(1650) 评论(2) 推荐(0) 编辑
摘要:使用OCUnit测试框架iOS单元测试框架原则上,是否使用测试框架都不会影响单元测试结果,但是“工欲善其事,必先利其器”使用单元测试框架更便于我们测试和分析结果。主要的iOS单元测试框架有:OCUnit,是开源测试框架,与Xcode工具集成在一起使用非常方便,测试报告以文本形式输出到输出窗口;GHUnit,是开源测试框架,它可以将测试报告以应用形式可视化输出到设备或模拟器上,也可以以文本形式输出到输出窗口;GHUnit可以测试OCUnit编写的测试用例;OCMock,是开源测试框架,它主要为测试提供Mock对象(伪对象)。添加OCUnit到工程添加OCUnit到工程中有两种方法,一种是在创建工 阅读全文
posted @ 2013-01-18 11:39 智捷iOS课堂 阅读(698) 评论(0) 推荐(0) 编辑