NIB文件的基础知识

NIB文件本质上是一种XML文件,定义了对象及对象间的关系。

iOS在运行时从NIB文件进行unserialziation,即根据NIB中的定义来完成两个工作

1)生成NIB中定义的对象(包括分配内存,初始化)

2)构建NIB中定义的对象关系(包括IBOutlet,IBAction等)

其中的对象关系,不但包含NIB中定义的对象之间的关系,也可以包括NIB中的对象和外部对象之间的关系,外部对象一般在Interface Builder中以Placehoders的身份出现,并且

这些Placeholders对象需要通过编码其它NIB文件定义来完成对象生成和初始化。


在开始使用Interface Builder时,很困扰的一个问题是难以分清哪些工作有谁来完成

1)哪些工作由Interface Builder完成?

2)哪些工作由Object C编译器或运行时完成?

3)哪些工作应该由程序员自己来完成?


基于以上对NIB文件的理解,可以得出以下结论

不需要程序员通过编码完成的工作包括:


1)对象创建及初始化

------------------------------------------------------------------------------------------------
* UIApplication                      Created by Framework

All objects in NIB file
------------------------
* UIApplication Delegate      Created by unserializing from NIB(main)
* UIWindow                          Created by unserializing from NIB(main)
* UIView                               window is the view                         (windows based app)
                                             Created by ViewController NIB      (view based app)

* UIViewController                Created by Main NIB                     (view based app)


2)对象间关系的建立(All relations defined in NIB file)

-----------------------------------------------------------------------------------------------

2.1  通过IBOutlet属性构建的对象引用关系

* UIApplication->delegate            =      Default AppDelegate Object

* AppDelegate->ViewController   =       UIViewController from NIB   (view based app)

* AppDelegate->Window              =       UIWindow from NIB

  等等

2.2 通过Interface Builder构建的视图关系

* Views  之间的父子关系


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值