如果你要往里面看,一个 nib 文件到底是啥样子的?
Posted
技术标签:
【中文标题】如果你要往里面看,一个 nib 文件到底是啥样子的?【英文标题】:What exactly does a nib file look like if you were to look inside?如果你要往里面看,一个 nib 文件到底是什么样子的? 【发布时间】:2016-11-30 00:57:47 【问题描述】:我只是在学习 nibs 和 swift 并且对某些东西感到好奇。我知道,如果您有一个 main.storyboard 文件,那么首先会在根视图控制器上加载一个 nib,然后对于可能在该视图控制器下分层存在的任何视图,但是......我想知道一些事情。
当他们说 nib 已“加载”时,这是否意味着,根据您在界面构建器中构建的情节提要,单个函数 CALLS 您要加载的 ui 对象的实例?
如果不是,那么看待这个问题的正确方法是什么?我正在尝试收集一个易于理解、准确的心理模型。
谢谢!
【问题讨论】:
developer.apple.com/library/content/documentation/Cocoa/… apeth.com/iosBook/ch07.html#_nib_loading_and_file_8217_s_owner 我会阅读视图控制器编程指南以更好地理解这一点。 【参考方案1】:如果你要往里面看,nib 文件到底是什么样子的?
往前走,看看里面!它只是一个 XML 文件;人类完全可读。
我知道,如果您有一个 main.storyboard 文件,则首先会在根视图控制器上加载一个 nib,然后再为该视图控制器下分层存在的任何视图加载
正确!更准确地说,故事板中的每个“场景”都包含 两个 nib,一个包含视图控制器,另一个包含其视图、视图的子视图以及构成该场景的所有其他内容。
当他们说 nib 已“加载”时,这是否意味着,根据您在界面构建器中构建的情节提要,单个函数 CALLS 您要加载的 ui 对象的实例?
将笔尖视为一堆潜在的对象实例。加载 nib 会将这些潜在对象变成 实际 实例。因此,加载 nib 只是实例化和配置对象的另一种方式。被“加载”的笔尖仅仅意味着读取笔尖并且它描述的对象被实例化和检索。这就是为什么您可以多次加载同一个 nib 以获取这些对象的多个实例。
【讨论】:
以上是关于如果你要往里面看,一个 nib 文件到底是啥样子的?的主要内容,如果未能解决你的问题,请参考以下文章
lua解释器 是啥东西? lua 后面加lua文件名为啥不行?
无论对象是从 nib 加载还是以编程方式创建,执行初始化代码的正确方法是啥?