mikixiyou 发表于 2013-1-30 20:30:38

iOS学习笔记之用Storyboard和Interface Builder开发的iPhone应用比较

最初学习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的应用架构。
页: [1]
查看完整版本: iOS学习笔记之用Storyboard和Interface Builder开发的iPhone应用比较