storyboard和nib文件的差别

2016年06月14日星期二

storyboard和nib文件我也不常用,但是看到了,还是过来写写吧,顺便测试一下我以前写的博客网站还能运行不。

nib文件实际上是静态对象图(frozen object graph)。当向运行中的应用加载nib时,它所包含的对象会全部加载并且一直存在,包括文件中指定的所有连接。系统将一次为文件中的每一个单独对象创建一个全新的实例,并且关联所有的输出接口和对象。

storyboard则不完全是这样。你可以认为storyboard的每一个场景大致上都是相应的nib文件。当添加了元数据以描述场景如何通过转场相互关联之后,就得到了一个storyboard。不过,与单个nib文件不同,一个复杂的storyboard通常不会一次加载所有内容;使新场景被激活的任何行为都会导致storyboard加载特定场景的静态对象图。这就意味着你在使用storyboard时看到的对象并不一定同时存在。

评论