loadView viewDidLoad viewDidUnload见解

1 loadView

view controller会在view的property被请求并且当前view值为nil时调用这个函数。

如果你手动创建view,你应该重载这个函数,且不要在重载的时候调用[super loadview]。

如果你用IB创建view并初始化view controller,那就意味着你使用initWithNibName:bundle:方法,这时,你不应该重载loadView函数。

这个方法系统的默认实现是这样:

1;寻找有关可用的nib文件的信息,根据这个信息来加载nib文件       //所以,nib的加载过程是在loadview中完成的哦。

2;如果没有有关nib文件的信息,默认创建一个空白的UIView对象,然后把对象成赋值给view controller的主view。

所以,如果你决定重载这个函数时,你也应该完成这些步骤:

把子类的view赋给view属性(property)(你create的view必须是唯一的实例,并且不被其他任何controller共享),而且你重载的这个函数不应该调用super,这个也是为了保持主view与controller的单一映射关系


2viewDidLoad

这个函数在controller加载了相关的views后被调用,在loadview之后调用.

而不论这些views存储在nib文件里还是在loadView函数中生成

这个函数的作用主要是让你可以进一步的初始化你的views。

viewDidLoad通常负责的是view及其子view被加载进内存之后的数据初始化的工作,即视图的数据部分的初始化。

其多数情况下是做nib文件的后续工作。 


当收到内存警告的时候就会调用此方法来将多余的把内存释放掉 此时之后还会调用loadView来重新初始化view 重复1和2步骤


4dealloc

当类的引用计数为0时 调用 应该在此方法中将变量的引用计数还未清零的清零 不要造成内存泄露


实际过程 :

loadView来加载view(无论nib文件或自定义的views 侧重于views)到内存 ——>viewDidLoad函数进一步初始化这些view (通常是侧重于数据data的初始化)——>内存不足时,系统释放views

—->当需要使用view时又回到第一步

如此循环


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值