打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
loadNibNamed

loadNibNamed

1loadNibNamed方法:

-(NSArray *)loadNibNamed:(NSString *)name owner:(id)owner options:(NSDictionary *)options

参数:

namenib文件的名称

owner指定name参数所指代的nib文件的File's Owner

options:当nib文件开始时,需要的数据

返回值:返回符合对象的数组。

例子:初始化一个View

CustomCell *cell=(CustomCell *)[tableView dequeueReusableCellWithIdentifier:CustomCellTableIdentifier];

if (cell==nil) {

NSArray *nib=[[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil];

cell=[nib objectAtIndex:0];// 因为返回的是数组

}

在这个时候生成后会让引用计数器变为1,但是需要注意得,owner:self ,在owner自己dealloc得时候,系统会自动帮你将你自定义view引用计数器-1得。

特别注意:

loadNibNamed:owner:options: 这个函数会返回一个nib的数组。不过,在iPhone2.1包括以后的版本,这个数组的第一个元素,即nib[0]表示的就是除了File‘s Owner File Responder后的第一个东西。在iPhon2.1之前的版本,nib[0]File's Ownernib[1]才是除了File‘s Owner File Responder后的第一个东西。

 

FOR EXAMPLE

一个继承uiview的类:


1

xibFile‘s Ownerclass设置为SBVI,连接Outlets。则调用[[NSBundle mainBundle]loadNibNamed:@"SBVI" owner:sbviClass options:nil]即可完成sbviClass中的outlet对象初始化。()

此做法可以用于使用自定义方法(initWithSB:(NSString *)name;)创建SBVI对象,并使用xib文件初始化SBVIsubviews此时:

 


 2

这里的View代表着SBVI对象的subviews

 

而平时我关联xib的方法是:


 图3

这里的Manage View代表的是ManageView对象本身。

不在File‘s Owner中关联Outlets,在objects一栏中创建ManageView设置他的class为要创建的类型( 这里是ManageView),然后关联他的Outlets,不同于上面的在File's Owner中关联,而是在Objects中关联。这样调用[[NSBundle mainBundle]loadNibNamed:@"ManageView" owner:self options:nil]这里的owner参数就无所谓了,随便设置,(猜测)因为我的xib文件中没有对File‘s OwnerOutlets进行关联。所以这句[[NSBundle mainBundle]loadNibNamed:@"ManageView" owner:self options:nil]是一次失败的尝试,它生成了对象但是没有成功赋给别人。所以我需要先保存这些对象即使用数组对象接收:NSArray *nib=[[NSBundle mainBundle] loadNibNamed:@"ManageView" owner:self options:nil];数组中的元素是图3Objects一栏中的元素,注意,这里并没有包含ManageView中的节点元素,所以Objects个数是1,即nib数组的个数是1,且[nib objectAtIndex:0]即是图3中的Manage View。此时写manageView =[[nib objectAtIndex:0] retain];xibObjects中的对象赋给manageView()

 

 btw:

http://blog.csdn.net/theonezh/article/details/7780495

http://tiny4cocoa.com/thread-2818-1-1.html

 

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
objective-c中的NSBundle
IOS开发基础知识
ios webview加载本地网页并解决乱码问题
IOS开发中XML解析和Json解析
SSZipArchive使用详解
contentsize、contentoffset和contentInset详解
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服