首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在xcode xib文件中文件所有者的需求是什么?我可以在没有文件所有者的情况下做同样的事情吗?

在xcode xib文件中文件所有者的需求是什么?我可以在没有文件所有者的情况下做同样的事情吗?
EN

Stack Overflow用户
提问于 2012-06-04 03:12:25
回答 3查看 6.8K关注 0票数 5

为什么我应该设置File的所有者类标识,而不是显示在nib中的自定义对象的类标识,并从它建立连接?如果我将文件的所有者设置为nil,会发生什么?对我来说,使用nil文件的所有者一切都很好,那么从它进行连接有什么要求呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-06-04 04:06:54

NIB表示存档的对象图。您可以加载它,该对象图将被重新构建。问题是,您通常希望/需要将新加载的对象图挂接到程序的已有对象图中。你不会希望它站在一边,与其他一切隔绝。

有几种方法可以将新加载的对象图连接到程序的对象图的其余部分。一种方法是NIB中可用的代理对象集。其中一个用于应用程序对象。另一个这样的代理对象是File的所有者。代理对象是在NIB中具有表示但实际上不包含在NIB中的对象。与NIB中的其他对象不同,由代理表示的对象不是在加载NIB时创建的,它们在加载NIB之前就存在了。代理允许这些预先存在的对象与NIB中的对象之间的连接。这就是如何将来自NIB的新对象图连接到程序的现有对象图。

MainMenu NIB是不同寻常的。它是在应用程序启动时由Cocoa自动加载的,这意味着在预先存在的对象中没有(实际上不可能有)太多。该NIB通常还包含应用程序委托的一个实例,这是一种协调控制器。但是,通常情况下,其他类型的NIB不包含协调控制器。(它们确实包含中介控制器,如NSArrayController,但这是不同的。)相反,协调控制器通常是在代码中创建的,通常,它们负责加载NIB。

例如,您将使用NSWindowController作为窗口的协调控制器。该窗口将在NIB中定义。窗口控制器将在代码中实例化-无论哪个代码决定应该创建窗口-它将加载NIB。它也将是NIB的文件所有者。它将管理窗口和NIB的顶级对象。

如果您将文件的所有者设置为nil,那么a)此时您可能正在处理非常简单的NIBs,b)您可能会从您加载的NIBs中泄漏顶级对象。

票数 11
EN

Stack Overflow用户

发布于 2012-06-04 03:25:58

文件的所有者是包含该视图的所有IBOutlets和IBActions的文件。例如,如果您有一个"ViewController“类,并且它包含一个IBOutlet UIButton *button-(IBAction)changeViewWhenButtonPressed: (id) sender,那么您连接插座和操作的唯一方法就是将"ViewController”设置为视图文件的所有者。

我相对确定类标识是File的所有者的同义词。

另外,这些链接可能会有帮助:

What are File Owner and First Responder in iPhone SDK - xCode?

File's Owner Definitions

What is File's Owner

票数 7
EN

Stack Overflow用户

发布于 2012-06-04 04:10:07

“file‘s owner”是nib中的对象可以引用nib外的对象的方式,反之亦然。(还有一些更复杂的方法可以做到这一点,但并不常用。)如果你不需要这样做,你就不需要使用文件的所有者。

对于主应用程序,文件的所有者是Application对象。如果您的所有应用程序逻辑都在一个也在nib中实例化的自定义类中,并且如果您对发送到应用程序的操作消息使用“first responder”,那么您可能不需要连接到它。这样就可以了。

如果您有一个文档窗口或弹出窗口或其他东西,文件的所有者通常是正在查看的对象,因此能够将ui附加到它是很有用的。您可以多次加载相同的nib,每个nib都由该类的不同实例“拥有”-不同的文档或已检查的对象或其他对象。

(基本上,文件的所有者就是传递给nib-loading方法中的" owner :“参数的任何对象。)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10873138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档