iOS中的文件所有者和第一响应者是什么 - Xcode? p>
答案 0 :(得分:168)
文件所有者是一个实例化的运行时对象,它在加载nib时拥有nib及其出口/操作的内容。它可以是您喜欢的任何类的实例 - 查看工具选项板的标识选项卡。
文件所有者是应用程序代码与nib文件内容之间的主要链接。
例如,假设您有一个UIViewController子类,其中包含一个UILabel的IBOutlet。在界面构建器中,File的所有者将被设置为与UIViewController相同的类。在运行时加载nib时,nib中定义的出口和动作的绑定将绑定到视图控制器的实例,因为视图控制器是所有者。
使用以下方式加载笔尖:
[[NSBundle mainBundle] loadNibNamed:@"NibName" owner:nil options:nil];
所有者参数尤为重要。这是一个拥有正在加载的笔尖的内容(出口,动作和对象)的类的运行时实例。
希望这很清楚。要在工作中看到这一点,请使用视图控制器创建一个全新的iPhone项目。打开Nib文件,查看标识选项卡。
第一响应者只是响应者链中可以响应事件的第一个对象。响应者链是可以响应事件的对象的运行时集合(或更准确地说是层次结构)。例如,假设您有一个带有视图的窗口,并且该视图是一个文本字段。
如果该文本字段具有焦点,则称其为链中的第一个响应者。因此,如果您向第一个响应者发送消息,它将首先发送到文本字段。如果文本字段无法处理消息,则会将其发送到下一个响应者。接下来。接下来,直到你到达响应者链的末尾或某事消耗了事件(iirc)。
响应者链值得阅读 - 点击苹果的文档以获取更多信息。