转载]转如何理解 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啥的等等~
转载]转如何理解 File's Owner 与 First Responder相关推荐
- 理解File's ower 和first respond
Interface Builder 中的 File's Owner 和 First Responder 的作用分别是什么? File's Owner 表示视图控制器.用来关联 IB 中的 outlet ...
- 【转载】全面理解javascript的caller,callee,call,apply概念(修改版)
今天写PPlayer,发现有段代码引起了我的兴趣: var Class = { create: function() { return function() { this.initialize.app ...
- (转载)深入理解Linux中内存管理---分段与分页简介
首先,必须要阐述一下这篇文章的主题是Linux内存管理中的分段和分页技术. 来回顾一下历史,在早期的计算机中,程序是直接运行在物理内存上的.换句话说,就是程序在运行的过程中访问的都是物理地址.如果这个 ...
- 【转载】C# 理解泛型
术语表 generics:泛型 type-safe:类型安全 collection: 集合 compiler:编译器 run time:程序运行时 object: 对象 .NET library:.N ...
- [转载] 菜鸟举例理解字节流和字符流区别
参考链接: Java中的字符流与字节流 Character Stream对比Byte Stream 菜鸟举例理解字节流和字符流区别 按照uft8编码方式存储文档 文档存储路径在D盘下 /** * 按照 ...
- (转载)深入理解WeakHashmap
WeakHashmap (一) 查看API文档,WeakHashmap要点如下: 1. 以弱键 实现的基于哈希表的 Map.在 WeakHashMap 中,当某个键不再正常使用时,将自动移除其条目.更 ...
- (转载)如何理解RxJava中的join操作
转载:http://avenwu.net/2016/05/10/understand-the-join-operation-in-rx/ 前言 先前写过一篇文章,介绍Rx中不容易理解的概念(Rx那些不 ...
- 朴素贝叶斯分类器的应用-转载加我的理解注释
2019独角兽企业重金招聘Python工程师标准>>> 生活中很多场合需要用到分类,比如新闻分类.病人分类等等. 本文介绍朴素贝叶斯分类器(Naive Bayes classifie ...
- (转载+ 修改) 深入理解UIWindow
转载于 http://www.cnblogs.com/smileEvday/archive/2012/11/16/UIWindow.html 每一个IOS程序都有一个UIWindow,在我们通过模板 ...
- 转载: 快速理解Docker - 容器级虚拟化解决方案
转载自: http://blog.csdn.net/colorant/article/details/20608157 是什么 简单的说Docker是一个构建在LXC之上的,基于进程容器(Proces ...
最新文章
- JAVA 线上故障排查套路,从 CPU、磁盘、内存、网络到GC 一条龙!
- VS2015编译TensorFlow C++程序完全攻略
- selenium webdriver python 环境搭建
- Windows 7 下直接硬盘安装 Ubuntu 10.04成为双系统的方法
- 就差一点点-微妙的强制类型转换
- Java9中使用jpa,jpa – eclipselink在Java 9上使用final字段进行静态编织
- JavaScript 面向对象编程(三) —— 函数进阶 / 严格模式 / 高阶函数 / 闭包 / 浅拷贝和深拷贝
- 指针变量的声明、地址相关运算--“*”和“”
- 发电机机房设计规范_柴油发电机的容量怎么选择!发电机机房如何合理设计?来涨知识!...
- oracle数据库使用
- 珍大户《认知世界的经济学》学习笔记 -- 第17课 影响消费者的因素 -- 色彩、冷暖、秩序
- javascript手册安卓版_JavaScript 手册
- X.509证书与java
- PHP在线横幅广告店标LOGO制作网站源码
- 服务器开机显示f1 f2,开机提示按F1/F2才能进入系统的解决方法
- Hark语音识别学习(二)--HARK数据类型
- 18 - java基初 数组介绍 冒泡排序
- 洛谷P3386-二分图最大匹配
- ABAQUS纤维增强复合材料层合板分层和界面损伤与扩展分析-想学习ABAQUS复合材料建模分析,那就来这里!
- C语言中数字转字符和字符转数字的函数