studying IOS 关于对xib的认识

本文对比分析了XIB和Storyboard两种iOS界面布局方式的特点及应用场合,并详细介绍了XIB加载流程与File'sOwner的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,可以认为xib 和 nib 是同义词


2,加载xib 按顺序装的数组中返回
NSArray * xibViews =[[NSBundle mainBundle] loadNibNamed:@"RowView" owner:(xib管理者)  options:nil];
使用xib思想

快速通过图形界面拖出控件,(省掉代码添加控件的力气),然后 传入参数给owner让它来管理xib里面的控件(比如说监听事件),这个owner里的方法可以被xib里的控件调用(意味着拥有者必须有方法)


3,storyboard和xib的异同


1> 区别
* storyboard : 描述软件界面,大范围,重量级,比较适合描述整个软件的所有界面
* xib :描述软件界面,小范围,轻量级,比较适合描述某个小界面(局部界面)

2> 相同点 :本质都是转成代码


4,file's Owner的使用步奏


1> 在xib文件中设置File's Owner的class属性(目的是在xib中找到Owner的方法)
2> 建立File'sOwner 跟控件之间的联系

3> 利用代码加载xib,传递Owner参数(类型一定要匹配)


5,如果给owner传入对象,那么有下列坏处


耦合性强, 所以,我们要尽量避免耦合性太强的代码,
对于新建的xib ,我们要封装起来,我们的viewControll控制器不需要知道xib的实现细节,我们只需要跟它封装以后留下对外界联系的接口 交流就行,那么这个接口让什么来实现呢,类,可以很好的体现封装性,也就是说,将xib 封装到一个类中,让这个类来管理xib内部的属性和功能实现。
    那么,如何实现将xib封装到一个类中,xib中通常 有一个最底层的UI空间,其它控件都在它之上,我们只需,让那个最底层的UI控件成为 那个类,然后让这个UI控件之上的建筑,交给这个类来管理,面向外界的只留一个数据模型接口,当传入数据模型时,在内部set方法中将导入的数据分别注入到需要这些数据的控件。这样就实现了封装,避免了耦合性,下次直接就可以拿到那个类和xib用到其它地方,不用改变任何代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值