为了比较我们使用Xcode中的Master-Detail模板分别创建,基于故事板的应用StoryboardDemo和基于nib的应用NibDemo。然后通过Instruments工具的Allocations模板分析ViewController视图控制器加载的时候,内存占用方面有多少差别。NibDemo工程的Allocations模板跟踪,StoryboardDemo工程的Allocations模板跟踪。

​​

画面启动用时00:02.776.562毫秒,内存占用1.10MB。画面启动用时00:02.911.718毫秒,内存占用1.11MB。NibDemo比StoryboardDemo画面启动时间要长,内存要多占用0.01MB,即约等于10KB。

默认情况下工程中有一个故事板文件,它集成了应用中几乎所有的控制器,随着业务复杂度增加,在故事板的IB设计画面会变的杂乱无比,故事板文件会变得非常的庞大。应用程序在加载故事板时候有些迟缓,内存的占用也会增加。

事实上nib仍然是比较好的技术,只不过不能表达画面之间的导航关系,画面导航要手工编写代码。