繁体   English   中英

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

[英]What are File Owner and First Responder in iOS - Xcode?

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

文件所有者是一个实例化的运行时对象,在加载该笔尖时拥有该笔尖的内容及其出口/动作。 它可以是您喜欢的任何类的实例-查看工具选项板的Identity选项卡。

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

例如,假设您有一个带有UILabel的IBOutlet的UIViewController子类。 在界面生成器中,文件的所有者将设置为与UIViewController相同的类。 在运行时加载笔尖时,笔尖中定义的出口和动作的绑定将绑定到视图控制器的实例,因为视图控制器是所有者。

笔尖通过以下方式加载:

[[NSBundle mainBundle] loadNibNamed:@"NibName" owner:nil options:nil];

owner参数特别重要。 那是一个类的运行时实例,该类拥有正在加载的笔尖的内容(出口,动作和对象)。

希望这很清楚。 为了在工作中看到这一点,请创建一个带有视图控制器的全新iPhone项目。 打开Nib文件,然后查看“身份”选项卡。

第一响应者只是响应者链中可以响应事件的第一个对象。 响应者链是可以响应事件的对象的运行时集合(或更准确地说是层次结构)。 例如,假设您有一个带有视图的窗口,并且在该视图上是一个文本字段。

如果该文本字段具有焦点,则称为链中的第一响应者。 因此,如果您将消息发送给第一响应者,则将其首先发送到文本字段。 如果文本字段无法处理消息,它将被发送给下一个响应者 接下来。 接下来,直到到达响应者链的末尾或某些东西消耗了事件(iirc)。

响应者链值得一读-有关更多信息,请访问Apple的文档。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM