iOS-Xcode中的文件所有者和第一响应者是什么?
iOS-Xcode中的文件所有者和第一响应者是什么?文件所有者是一个实例化的运行时对象,它在加载nib时拥有nib的内容及其输出/操作。它可以是您喜欢的任何类的实例—请查看工具选项板的“标识”选项卡 文件所有者是应用程序代码和nib文件内容之间的主要链接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中定义的出口和操作的绑定
例如,假设您有一个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:详细描述+伟大的解释!