Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS-Xcode中的文件所有者和第一响应者是什么?_Ios_Iphone_Interface Builder_First Responder - Fatal编程技术网

iOS-Xcode中的文件所有者和第一响应者是什么?

iOS-Xcode中的文件所有者和第一响应者是什么?,ios,iphone,interface-builder,first-responder,Ios,Iphone,Interface Builder,First Responder,iOS-Xcode中的文件所有者和第一响应者是什么?文件所有者是一个实例化的运行时对象,它在加载nib时拥有nib的内容及其输出/操作。它可以是您喜欢的任何类的实例—请查看工具选项板的“标识”选项卡 文件所有者是应用程序代码和nib文件内容之间的主要链接 例如,假设您有一个UIVIEW控制器子类,它具有一个UIABEL的IbExchange。在interface builder中,文件的所有者将设置为与UIViewController相同的类。在运行时加载nib时,nib中定义的出口和操作的绑定

iOS-Xcode中的文件所有者和第一响应者是什么?

文件所有者是一个实例化的运行时对象,它在加载nib时拥有nib的内容及其输出/操作。它可以是您喜欢的任何类的实例—请查看工具选项板的“标识”选项卡

文件所有者是应用程序代码和nib文件内容之间的主要链接

例如,假设您有一个UIVIEW控制器子类,它具有一个UIABEL的IbExchange。在interface builder中,文件的所有者将设置为与UIViewController相同的类。在运行时加载nib时,nib中定义的出口和操作的绑定将绑定到视图控制器的实例,因为视图控制器是所有者

NIB通过以下方式加载:

[[NSBundle mainBundle] loadNibNamed:@"NibName" owner:nil options:nil];
所有者参数尤其重要。这是一个类的运行时实例,该类拥有正在加载的nib的内容(出口、操作和对象)

希望这是清楚的。要在工作中看到这一点,请使用视图控制器创建一个全新的iPhone项目。打开Nib文件并查看identity选项卡

First responder只是响应器链中可以响应事件的第一个对象。响应器链是可以响应事件的对象的运行时集合(或者更准确地说是层次结构)。例如,假设您有一个窗口,其中一个视图是一个文本字段。 如果该文本字段具有焦点,则称为链中的第一响应者。因此,如果您向第一响应者发送消息,它将首先发送到文本字段。如果文本字段无法处理消息,它将被发送到下一个响应者。接下来呢。下一步,直到你到达响应者链的末端或者某个东西消耗了事件(iirc)


响应者链值得一读-点击苹果的文档以获取更多信息。

@dannywartnaby:详细描述+伟大的解释!