在这种情况下,XIB中的文件所有者是什么?

我search了相当一段时间的类似问题,其中大部分提到UIViewController的xib的东西。 我试图为我的自定义viewController模型添加一个xib文件,并发现它的Xib文件的所有者应该是我自定义viewController模型的类 – 这是合理的。 但为什么情况不同,当我为我的UIView模型创build一个xib – 一个例子如下:

我创build了我的名为“KWView”(KWView.h和KWView.m)的UIView模型,然后我为这个模型创buildxib,初始化它

KWView *oneView = [[[NSBundle mainBundle] loadNibNamed:@"KWView" owner:nil options:nil ]lastObject]; 

这Xib的文件的所有者名称是“NSObject” (然后我尝试任何其他更多,无论我select,它运行顺利) ,在那里,我select视图的自定义类为“KWView”[这个xib名为“KWView.xib”]

问题是:

1.无论我更改自定义视图的Xib文件的所有者名称,它的工作原理。 如果是这样,这个文件的所有者在这里做什么工作,或者说,为什么会发生这种情况?

2.一般情况下,我应该将自定义视图的Xib的文件所有者设置为我的自定义视图的类或viewController的类,这个视图将被添加到? 或者只是设置“NSObject”?

你的问题的答案取决于你打算如何在笔尖加载时从笔尖提取视图。 你会提取它,就像你有帮助地向我们展示的那样:

 KWView *oneView = [[[NSBundle mainBundle] loadNibNamed:@"KWView" owner:nil options:nil] lastObject]; 

这意味着你没有使用owner:对于这里的任何东西 – 它是nil 。 因此,你可以把NSB的文件的所有者留在NSObject。

文件所有者的目的是允许你在视图控制器(所有者)和视图控制器(所有者)之间build立视图(或其子视图)和将成为真实所有者的对象之间的动作和出口连接。它的view (视图控制器的主视图)。 但在你的情况下,没有这样的真正的所有者,没有这样的行动或出口连接。

Interesting Posts