nib文件笔记

1.nib文件描述了界面元素及其之间的关系等内容,同时也描述了一些非图形化对象,应用中跟图形界面相关的或是管理图形界面的一些对象,nib file’s owner是指创建或加载nib文件时,从代码中传递过去的对象,这是程序代码与nib文件进行关联的要素;
2.first responder是指xib所展示的界面响应时,程序的第一个响应者的占位符,因为first responder和file’s owner都无法在界面设计时确定,因此这两个对象都在ib中以占位符方式显示;
3.top level object是指nib文件所描述的图形界面中最上层的元素,一般是一个窗口或是一个View;
4.ios中的资源文件有几种:nib文件、图像与声音视频等、字符串资源、属性列表plist文件、ios特定设备资源(以带~ipad/~iphone等文件名的文件);
5.nib文件设计尽量做到分享可重用为主,懒加载为主(不做一个大而全的页面,暂时未显示的也全在其中);
6.nib对象生命周期包括:
1)将nib文件及其所引用到了图形等多媒体内容加载至内存
2)从文件中解析出对应的界面元素并初始化它们
3)建立所有对象间的联系,包括action和outlet连接,同时将File’s owner等占位对象填上
4)调用nib文件相关对象的awakeFromNib方法,iOS中不会调用File’s owner和First Responder及其它占位对象的该方法
5)展示所有界面元素中设置了Visible at launch time属性为true的元素;
7.nib文件每次使用都是新创建对象及关系,不会重复利用;oc代码中指向nib文件中的某些页面元素的引用(IBOutlet)必须是weak类型,除非指向的是topLevelObject;且outlet一般设为private属性为主;如果想单独持有某个nib文件中的子对象,为了移除后仍使用,则可使用strong;
8.Application会自动加载NSMainNibFile;每一个ViewController如果在创建时指定了创建nib文件,则在使用该VC时会自动加载对应的nib文件;
9.ios中只能通过MainBundle中加载nib文件;方法为:[NSBundle loadNibNamed:owner:options:]
10.使用UINib加载nib文件对于需要创建多份nib文件内容的拷贝时更加高效,因为UINib加载后会把文件内容保存在内存中;加载后的Nib对象调用instantiateNibWithOwner方法可初始化;
11.genstrings工具可以把.m文件里的宏提取出来生成.strings文件,这个一个逆向的过程,也就是先写代码,然后再用工具生成.strings文件,具体宏包括:
NSLocalizedString
      NSLocalizedStringFromTable
      NSLocalizedStringFromTableInBundle
        NSLocalizedStringWithDefaultValue
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值