最初学习iPhone 应用程序开放时,下载到Xcode 的版本是4.2 ,支持iOS 的版本是5.0 了。
这个开发工具和以前版本的有个大不同,就是它使用storyboard editor ,以前都是使用Interface Builder 。
(墙内链接: http://mikixiyou.iteye.com/blog/1522094 )
市面上出版的书中,基本都是基于Interface Builder 的,这点让我这个初学者比较扎手。直接去读apple 的官方文档,也有麻烦。理由有两个:一,母语不是英文,快速阅读有难度;二,官文中也有很多基于Interface Builder 创建的应用代码案例穿插其中。
那么,我们看看这两类应用什么不同?
基于storyboard editor 开发的应用,主要组成部分是AppDelegate 、ViewController 及MainStoryboard.storyboard 配置文件。这个storyboard 文件就是一个XML 格式的文件,所有在storyboard editor 上可视化创建的视图对象都归档保存在这个XML 文件中。
在整个应用程序中,只有一个storyboard 文件,它对应了所有的视图控制器。
基于Interface Builder 开发的应用,可视化创建的视图对象按照每个屏保存在自个的XIB 文件中。这些XIB 文件也是XML 文件。
这里的“屏“在iOS 开发体系中,称为scene ,不同在scene 之间的连接称为segue ,而这点在基于Interface Builder 开发的应用中是没有的。
所以说,基于storyboard editor 开发的应用在开发时,会需要比基于Interface Builder 开发,所需要的显示器会大很多。因为你一个显示器上得显示多个scene 吧,在开发iPad 时,需要的显示器就更大了。
基于storyboard editor 开发的应用程序在启动时,会加载 info . plist 文件内容到一个NSDictionary 对象中,键UIMainStoryboardFile 对应的值就是要加载的storyboard 配置文件名称。
取得此键值后,UIApplication 将加载MainStoryboard.storyboard 文件,自动地实例化文件中的第一个视图控制器,称为主视图控制器。
将主视图控制器的所有视图addSubView 到UIWindow 对象中。
因为使用storyboard editor 开发的,所以整个过程都不需要任何编码。
在基于Interface Builder 开发的应用中,加载主视图控制器的所有视图和实例化UIWindow 对象的操作是需要编码的。
总结的不多,也不一定对,先写下来留着自己看。
另外,我觉得完全不要这两个工具,纯手工编码开发个例子出来,更能理解iOS 的应用架构。