iOS - Xcode 中的文件所有者和第一响应者是啥?
Posted
技术标签:
【中文标题】iOS - Xcode 中的文件所有者和第一响应者是啥?【英文标题】:What are File Owner and First Responder in iOS - Xcode?iOS - Xcode 中的文件所有者和第一响应者是什么? 【发布时间】:2010-09-22 11:09:32 【问题描述】:什么是 ios - Xcode 中的文件所有者和第一响应者?
【问题讨论】:
【参考方案1】:文件所有者是一个实例化的 runtime 对象,它在加载 nib 时拥有 nib 的内容及其出口/操作。它可以是您喜欢的任何类的实例 - 查看工具面板的标识选项卡。
文件所有者是您的应用程序代码和 nib 文件内容之间的主要链接。
例如,假设您有一个 UIViewController 子类,其中包含一个用于 UILabel 的 IBOutlet。在界面生成器中,文件的所有者将设置为与 UIViewController 相同的类。当您的 nib 在运行时加载时,在您的 nib 中定义的出口和操作的绑定将绑定到您的视图控制器的实例,因为您的视图控制器是所有者。
笔尖加载使用:
[[NSBundle mainBundle] loadNibNamed:@"NibName" owner:nil options:nil];
owner 参数尤为重要。这是一个类的运行时实例,它拥有正在加载的 nib 的内容(出口、操作和对象)。
希望这很清楚。要在工作中看到这一点,请创建一个带有视图控制器的全新 iPhone 项目。打开 Nib 文件并查看身份选项卡。
第一响应者只是响应者链中可以响应事件的第一个对象。响应者链是可以响应事件的对象的运行时集合(或更准确地说是层次结构)。例如,假设您有一个带有视图的窗口,并且该视图上有一个文本字段。
如果该文本字段具有焦点,则它被称为链中的第一响应者。因此,如果您向第一响应者发送消息,它将首先发送到文本字段。如果文本字段无法处理消息,它将被发送到下一个响应者。接下来。接下来,直到您到达响应者链的末端或某些东西已经消耗了事件 (iirc)。
响应者链值得一读——点击苹果的文档了解更多信息。
【讨论】:
@dannywartnaby:详细说明!! +1 很好的解释!以上是关于iOS - Xcode 中的文件所有者和第一响应者是啥?的主要内容,如果未能解决你的问题,请参考以下文章