zoukankan      html  css  js  c++  java
  • 转载]<转>如何理解 File's Owner 与 First Responder

    *** xib 文件是什么的缩写? 作用是什么? ***

    .xib 文件存储 Interface Builder 布局。

     

    NIB 和 XIB 都是 Interface Builder 的图形界面设计文档。引用《Cocoa Programming for Mac OSX》一书的说法,Interface Builder 把窗口、菜单栏以及窗口上的各种控件的对象都“冻结”在了一个 NIB文档里面了;程序运行时,这些对象将会“苏醒”。

     

    简单地说,就是xib和nib都是一些对象的描述,而前者是xml格式,后者是一种二进制格式。二者的使用上没有什么区别,xcode/IB是两种格式都支持的。 xib比nib有个很明显的好处,就是xib可以很方便地进行diff操作。xib是文本文件,所以在版本控制方面比nib有优势。可能有人会说,反序列化的时候,xib肯定比nib慢很多吧。这个不需要担心的,因为在build的时候,xcode会把xib都转换为nib。最终用户使用的将会是nib内容,而不是xib。

     

    *** Interface Builder 中的 File's Owner 和 First Responder 的作用分别是什么?***

    File's Owner 表示视图控制器。用来关联 IB 中的 outlet (textfield, label)与实例变量(library classes 中定义)的关联。 First Responder 表示当前响应用户触摸的屏幕上的对象。在应用程序生命周期内, First Responder 在用户与屏幕交互时变化。例如,假设有一个表单。当用户触摸表单中的某个文本域时,那个文本域将成为活动文本域,并担当 First Responder 的角色。

     

    *** 在一个事件相应的最后为什么要加上这句? ****

    [field2 resignFirstResponder];

    Notifies the receiver that it has been asked to relinquish its status as first responder in its window.

    即,当前文本框完成显示任务后,告诉 receiver,“哥以完成任务,请求辞去 First Responder 的职务”

     

    参考:

    NIB 和 XIB 的区别

    http://www.cocoachina.com/macdev/cocoa/2010/0326/844.html

     

    xib和nib

    http://www.surfchen.org/archives/393

     

    XCode 自带帮助文档

     

    PS:

     

    File's Owner:故名思议,就是这个nib文件的拥有者,由拥有者来负责load这个nib
    First Responder:每个程序都会有一个第一响应者,比如鼠标事件,键盘事件等,它就是对应的那个对象。比如多文档程序中,你的 menu的响应事件一般都是连接到FirstResponder中去的,因为你的主界面一般都在别的nib里面,此时的FirstResponder就是你的那个主nib的FileOwner
    NSApplication:就是每个程序的单例NSApplication对象,你可以从中拿到event啥的等等~

  • 相关阅读:
    UVA 10618 Tango Tango Insurrection
    UVA 10118 Free Candies
    HDU 1024 Max Sum Plus Plus
    POJ 1984 Navigation Nightmare
    CODEVS 3546 矩阵链乘法
    UVA 1625 Color Length
    UVA 1347 Tour
    UVA 437 The Tower of Babylon
    UVA 1622 Robot
    UVA127-"Accordian" Patience(模拟)
  • 原文地址:https://www.cnblogs.com/zhwl/p/2278225.html
Copyright © 2011-2022 走看看