iOS Dev (43) 用loadView必须要注意的几点
- 作者:大锐哥
- 博客:http://prevention.iteye.com
永远不要主动调用 loadView 方法
ViewController 会在 view 的属性被请求且当前 view 为 nil 时调用 loadView。
如果你是用 xib 创建 view 并初始化 ViewController,意味着你要使用 initWithNibName:bundle: 方法,则不要覆盖 loadView 方法。
如果你是手动创建 view,就要覆盖该方法。
永远不要在覆盖 loadView 方法时使用 [super loadView]
loadView 方法是查看你有木有 xib,有的话就用 xib 加载基本信息,木有的话就会创建一个空白的 UIView,然后把它作为这个 ViewController 的 view。
所以你覆盖这个函数的时候,也按照这个方式是实现就好了。只不过你不是创建一个空白的 UIView,那也没有意义。你创建一个你想要的 UIView,一定要注意这个 UIView 实例必须是给这个 ViewController 独享的(不能被其他实例共享),否则会出问题的。
在 loadView 中实例化 view,在 viewDidLoad 中自定义 view
你只需要在 loadView 时创建 view,不要对它做什么自定义的。
在内存紧张时,程序会调用 viewDidUnload 来释放内存,这个方法是与 viewDidLoad 相对的。当程序内存不那么紧张,且需要用到这个 ViewController 时,则会再次调用 viewDidLoad。
viewDidLoad 和 viewDidUnload 中的操作是相对的。
什么时候执行的 loadView 和 viewDidLoad
一般在初学时,不会用到太复杂的,会发现是在这个 ViewController 被设置为 visible 时执行的这两个方法。再进一步的解释,以后再介绍。
Reference
http://my.oschina.net/amoyai/blog/90261
转载请注明来自大锐哥的博客:http://prevention.iteye.com