nib文件如何知道其文件的所有者控制器
||
当创建一个“ 0”和相应的nib文件时,该nib文件通常带有与控制器相同的名称,但是可以重命名。那么,IB如何知道该笔尖文件引用的是哪个“ 0”?
当从参考插座或操作中拖动时,IB仅显示特定控制器的方法。如何选择?当有人重命名笔尖时,我想知道IB是否保存笔尖和ѭ0之间的连接。
好像我的脑子里太混乱了吗? :) 希望不是...
问候,
ak
没有找到相关结果
已邀请:
3 个回复
苛肠倒俱
的一个实例 该实例收到ѭ5,因此知道应该加载的nib文件,实例即成为该文件的所有者。 因此,是
(或其子类)实例需要知道nib文件名,但是相反情况不一定成立。 也就是说,子集“ 0”通常定义nib文件中对象的出口并接收动作。为了在Xcode / Interface Builder中连接插座和动作,您可以在身份检查器中将文件的所有者类设置为对应的子类“ 0”。
扦帽次杏
诉嘎归亮
创建并显示不带笔尖名称的SecondViewController:如果默认情况下一切正常,则意味着VC与xib文件名具有相同的类名,那么我们可以忽略笔尖名称,创建vc的代码可以是这样的:
创建并显示具有不同xib文件名的SecondViewController:如果重命名xib文件名,则在创建VC时必须指定xib文件名,代码如下所示:
文件的所有者是什么?首先,正如苹果公司所说,这是一个占位符对象。该对象是xib文件中定义的对象的容器。同样,此对象可以接收由xib中的对象发送的消息,例如,按钮单击消息。创建出口或动作时,其目标将是文件的所有者,但是在设计时该对象是未知的。在界面生成器中,如下所示: 文件的所有者是什么?其次,它是界面生成器中显示的类名称。此类的实例包含xib中定义的对象。它显示如下: 如果我没有为文件所有者设置类名怎么办?在这种情况下,IB将不允许您通过Control-Drag来创建出口或动作,因为它不知道谁将包含出口或动作。 创建出口或操作后,如果删除文件所有者的类名怎么办?可以在IB中删除类名称。您创建的代码将像以前一样正常运行。 让我们回到问题:\“ nib文件如何知道其文件的所有者控制器\”? 在设计时,IB只有在设置了文件的所有者的类名之后才知道所有者控制器。 在运行时,运行时将接收init或initWithNibName:bundle:的对象设置为笔尖的File的Owner对象。