什么是iPhone SDK中的文件所有者和第一响应者 – xCode?

什么是iPhone SDK中的文件所有者和第一响应者 – xCode?

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

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

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

笔尖使用以下方式加载:

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

拥有者参数尤为重要。 这是一个类的运行时实例,它拥有被加载的笔尖的内容(出口,动作和对象)。

希望这是明确的。 为了在工作中看到这一点,使用视图控制器创build一个全新的iPhone项目。 打开Nib文件并查看标识选项卡。

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

如果该文本字段具有焦点,则称其为链中的第一响应者。 所以如果你发送消息给第一个响应者,它将首先被发送到文本字段。 如果文本字段不能处理消息,它将被发送到下一个响应者 。 而下一个。 接下来,直到你到达响应者链的末端或某件事情已经消耗了事件(iirc)。

响应者链是值得阅读的 – 打苹果的文档获取更多信息。