*** 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啥的等等~

转载]转如何理解 File's Owner 与 First Responder相关推荐

  1. 理解File's ower 和first respond

    Interface Builder 中的 File's Owner 和 First Responder 的作用分别是什么? File's Owner 表示视图控制器.用来关联 IB 中的 outlet ...

  2. 【转载】全面理解javascript的caller,callee,call,apply概念(修改版)

    今天写PPlayer,发现有段代码引起了我的兴趣: var Class = { create: function() { return function() { this.initialize.app ...

  3. (转载)深入理解Linux中内存管理---分段与分页简介

    首先,必须要阐述一下这篇文章的主题是Linux内存管理中的分段和分页技术. 来回顾一下历史,在早期的计算机中,程序是直接运行在物理内存上的.换句话说,就是程序在运行的过程中访问的都是物理地址.如果这个 ...

  4. 【转载】C# 理解泛型

    术语表 generics:泛型 type-safe:类型安全 collection: 集合 compiler:编译器 run time:程序运行时 object: 对象 .NET library:.N ...

  5. [转载] 菜鸟举例理解字节流和字符流区别

    参考链接: Java中的字符流与字节流 Character Stream对比Byte Stream 菜鸟举例理解字节流和字符流区别 按照uft8编码方式存储文档 文档存储路径在D盘下 /** * 按照 ...

  6. (转载)深入理解WeakHashmap

    WeakHashmap (一) 查看API文档,WeakHashmap要点如下: 1. 以弱键 实现的基于哈希表的 Map.在 WeakHashMap 中,当某个键不再正常使用时,将自动移除其条目.更 ...

  7. (转载)如何理解RxJava中的join操作

    转载:http://avenwu.net/2016/05/10/understand-the-join-operation-in-rx/ 前言 先前写过一篇文章,介绍Rx中不容易理解的概念(Rx那些不 ...

  8. 朴素贝叶斯分类器的应用-转载加我的理解注释

    2019独角兽企业重金招聘Python工程师标准>>> 生活中很多场合需要用到分类,比如新闻分类.病人分类等等. 本文介绍朴素贝叶斯分类器(Naive Bayes classifie ...

  9. (转载+ 修改) 深入理解UIWindow

    转载于  http://www.cnblogs.com/smileEvday/archive/2012/11/16/UIWindow.html 每一个IOS程序都有一个UIWindow,在我们通过模板 ...

  10. 转载: 快速理解Docker - 容器级虚拟化解决方案

    转载自: http://blog.csdn.net/colorant/article/details/20608157 是什么 简单的说Docker是一个构建在LXC之上的,基于进程容器(Proces ...

最新文章

  1. JAVA 线上故障排查套路,从 CPU、磁盘、内存、网络到GC 一条龙!
  2. VS2015编译TensorFlow C++程序完全攻略
  3. selenium webdriver python 环境搭建
  4. Windows 7 下直接硬盘安装 Ubuntu 10.04成为双系统的方法
  5. 就差一点点-微妙的强制类型转换
  6. Java9中使用jpa,jpa – eclipselink在Java 9上使用final字段进行静态编织
  7. JavaScript 面向对象编程(三) —— 函数进阶 / 严格模式 / 高阶函数 / 闭包 / 浅拷贝和深拷贝
  8. 指针变量的声明、地址相关运算--“*”和“”
  9. 发电机机房设计规范_柴油发电机的容量怎么选择!发电机机房如何合理设计?来涨知识!...
  10. oracle数据库使用
  11. 珍大户《认知世界的经济学》学习笔记 -- 第17课 影响消费者的因素 -- 色彩、冷暖、秩序
  12. javascript手册安卓版_JavaScript 手册
  13. X.509证书与java
  14. PHP在线横幅广告店标LOGO制作网站源码
  15. 服务器开机显示f1 f2,开机提示按F1/F2才能进入系统的解决方法
  16. Hark语音识别学习(二)--HARK数据类型
  17. 18 - java基初 数组介绍 冒泡排序
  18. 洛谷P3386-二分图最大匹配
  19. ABAQUS纤维增强复合材料层合板分层和界面损伤与扩展分析-想学习ABAQUS复合材料建模分析,那就来这里!
  20. C语言中数字转字符和字符转数字的函数

热门文章

  1. Python 入门演示
  2. 2016021902 - linux解压缩命令
  3. JavaWEB开发国际化
  4. 无法启用数据库中的 Service Broker,因为已存在启用的具有相同 ID 的 Service Broker。...
  5. 互联网公司如何有效执行流程的心得
  6. 如何在swift中实现数组的深拷贝
  7. pandas 修改 DataFrame 列名 1
  8. 关于Alipay支付宝接口(Java版)下
  9. 如何选择和部署长尾关键词
  10. HTML+JS实现可编辑表格