Xcode Nib文件中包含哪些对象?
起初,我认为nib只生成子视图(具有所有者的目标对象实例,即视图控制器) 现在,根据我的理解(或误解),在使用插座时,视图控制器(所有者)实际上包含在同一个nib文件中 这是否意味着视图控制器和视图都由nib文件“生成”或实例化Xcode Nib文件中包含哪些对象?,xcode,nib,Xcode,Nib,起初,我认为nib只生成子视图(具有所有者的目标对象实例,即视图控制器) 现在,根据我的理解(或误解),在使用插座时,视图控制器(所有者)实际上包含在同一个nib文件中 这是否意味着视图控制器和视图都由nib文件“生成”或实例化 谢谢笔尖由它所包含的任何东西组成,意思是你放在那里的任何东西。不过,从你的问题听起来,好像你在问故事板是如何工作的,因为它们使用的笔尖不是你直接接触的 在故事板中,每个场景由两个笔尖组成:一个包含视图控制器,另一个包含视图控制器的视图(及其子视图和其他所有内容) 在表示
谢谢笔尖由它所包含的任何东西组成,意思是你放在那里的任何东西。不过,从你的问题听起来,好像你在问故事板是如何工作的,因为它们使用的笔尖不是你直接接触的 在故事板中,每个场景由两个笔尖组成:一个包含视图控制器,另一个包含视图控制器的视图(及其子视图和其他所有内容)
在表示视图控制器视图的xib文件中,视图控制器本身只是一个代理对象(文件的所有者);它不是从nib生成的,而是在nib加载时已经存在(这就是为什么它可以充当文件的所有者)。事实上,这也是故事板场景中第二个nib文件的工作原理。请不要反复问同样的问题。如果您的第一个问题不清楚,请编辑它。抱歉,我想我删除了另一个问题。根据我刚才阅读的内容,我相信可能是这样的情况:如果您已有一个对象,并且希望成为未来的所有者对象,那么当您创建插座连接时,已经存在的对象实例现在将“神奇地”成为nib文件的一部分。因此,即使所有者实例不需要nib存在,它仍然成为nib的一部分,并且当加载nib时,您现在有两个单独的实例,一个是原始所有者对象,但现在它有一个引用其拥有的实例的新属性。正确吗?没有魔法,它不会成为nib文件的一部分。你读过我书中关于所有者和代理人的部分吗?我在这里用一个漂亮的图表来解释插座:谢谢马特,这个图表和我看过的有点不同。我会看一下这个。非常感谢!好的,现在根据我的理解,当加载nib时,nib中的代理所有者对象连接到实际的所有者实例,因为所有者实例已经加载了nib,并且“owner”参数设置为“self”。从那里,outlet的字符串值用于进一步将从nib加载生成的新创建实例分配给owner类中相应的命名引用变量。谢谢