文件所有者 + 第一响应者

Posted

技术标签:

【中文标题】文件所有者 + 第一响应者【英文标题】:File's Owner + First Responder 【发布时间】:2011-04-11 06:56:54 【问题描述】:

Xcode 中的文件所有者和第一响应者占位符究竟代表什么?

【问题讨论】:

iPhone Interface Builder and Delegates 的可能重复项 【参考方案1】:

文件所有者和第一响应者是运行时存在的对象的代理。具体来说,Files Owner 表示将在方法 [NSBundle loadNibNamed: owner] 中为 owner 传递的对象。您可以通过属性信息面板指定对象所有者的类型。 一旦您指明了文件所有者是什么,您就可以与它建立联系。

First Responder 是您通往 Responder Chain 的门户。您可以在文档窗口的“类”选项卡中将操作添加到急救人员。接下来,将按钮和菜单项连接到 First Responder,以便它们调用所需的操作。将调用响应者链中理解此操作的第一个对象。

有关响应者链如何工作的更多信息,请参阅 Cocoa 文档。

【讨论】:

按钮等元素的操作的推荐目标是什么?在 IB 中,我可以将用于触摸的按钮操作连接到来自文件所有者 - 或 - 第一响应者的相同方法。如果我决定稍后以编程方式更改 First Responder,我为什么要选择一个而不是另一个?【参考方案2】:

文件的所有者是管理 xib 所有功能的类。

First responder 是一个控制输入或任何类型的信号的控件。(基本上文本字段成为第一响应者)。

编辑:

文件所有者显示具有所有 UIContol 其委托和数据源以及它们的事件的所有链接的类。

-拥有所有 IBOutlets 以连接 UI 控件的文件所有者。 - 拥有所有 IBAction 的文件所有者对与 UIControls 相关的某些事件执行。 - 由自我表示(当前类的对象)。 - 如果将委托和数据源与文件所有者连接,则将它们设置为 self。

【讨论】:

你能再解释一下文件的所有者吗?我仍然对它是什么以及 xib 文件中的控件感到困惑。

以上是关于文件所有者 + 第一响应者的主要内容,如果未能解决你的问题,请参考以下文章

Swift 如何让所有 uiTextfield 上的第一响应者辞职

确定是不是所有控件都可以获得焦点(即成为第一响应者)

如果不是第一响应者,为啥我可以单击 NSButton?

UITextField 辞职第一响应者 iOS4

触摸 contentview 后辞职第一响应者

关闭具有多个文本字段的第一响应者/键盘