5

提前为这个问题道歉,尽管自 iOS 出现以来已经详细讨论过。但我仍然不明白,尽管我尽了最大的努力。我能画出的最接近的图像是“冻结和干燥的对象图”,这很好,但是当涉及到原始编程时,这无助于连接点。

所以,考虑到在你弄清楚什么是做什么之前,你无法真正描述任何东西,让我们看下面的例子:

1) 我有一个 Xib 文件,比如一个 UIView,带有标签和 imageView

2) 我有一个 classX,它是 UIView 的子类,它附加到 IB 身份检查器中的 Xib。IB 出口和 IB 动作在连接检查器中连接到此类。此类将 IB/IA 声明为属性。

3) 我有一个 UIViewController,由 classVC 表示。在这个类中,我使用标准实例化 1)[[NSBundle mainBundle] loadNibNamed:@"bla" owner:??? options:nil][0];

4) classX 和 classVC 通过自定义委托、标准东西进行通信。

问题:

a) XIB 文件的所有者是什么。老实说,我不知道。

b)我[[NSBundle mainBundle] loadNibNamed:@"bla" owner:??? options:nil][0];为所有者参数输入了什么,最重要的是,为什么?

当对象图解冻和浇水时,运行时不应该连接 2) 中定义的 Outlets,那么在这种情况下文件所有者的意义何在?

或者

如果 XIB 文件 Outlets 没有连接到任何东西,“文件的所有者”是否意味着“我是包含所有必需的 OUTlets 的类,以便可以在该类实例和解压缩的 XIB 之间建立连接?(这就是为什么我不明白了,因为如何建立关联???)

就是这样了。和以前一样傻。

编辑:我不同意其他答案同样有效的事实。我理解他们的意思,但到目前为止,我还没有理解 owner 参数在我描述的情况下应该包含什么,最重要的是,为什么。

4

0 回答 0