NSN*_*lan 3 initialization uiviewcontroller viewdidload ios
应该在init方法中使用的代码类型(对象分配,设置ui元素,网络调用等)与视图控制器的viewDidLoad类型方法之间的差异的一般准则是什么?
iPa*_*tel 10
Init =>调用at/use来初始化你的ViewController和Initialize只是为了 UIViewController而不是它的视图
ViewDidLoad =>在/用于加载视图,在加载nib后调用此方法
系统可以卸载视图来节省内存,它会单独留下UIViewController.由于UIViewController已经初始化,因此初始化方法中设置的任何属性都不会再次应用
在iOS应用程序中初始化变量是每个项目都会遇到的问题.选择正确的位置来初始化变量有时候会很棘手.我最近遇到了一个难以重现的问题,并且更改了一些在我的viewDidLoad方法中初始化的变量以及我无法理解他们正在改变的人.
在viewcontroller中初始化变量的可能方法有: - init - viewDidLoad - viewWillAppear - viewDidAppear
为了解释我的观点,我使用模板Tab Bar Application开始了一个新项目.我将日志语句添加到两个视图控制器中的viewDidLoad方法.A还为第二个视图控制器添加了一个按钮,该按钮会初始化一些会给我内存警告的图像.
记录一些陈述后得出以下结论:
15:11:40.077 testblog2[4865:707] FirstViewController viewdidload
15:11:56.720 testblog2[4865:707] SecondViewController viewDidLoad
15:12:05.710 testblog2[4865:707] Pressed loading images button
15:12:19.025 testblog2[4865:707] Received memory warning. Level=1
15:12:21.272 testblog2[4865:707] SecondViewController didReceiveMemoryWarning
Run Code Online (Sandbox Code Playgroud)
=>现在改为第一个标签
15:12:30.822 testblog2[4865:707] FirstViewController viewdidload
Run Code Online (Sandbox Code Playgroud)
如果在viewDidLoad方法中初始化变量,请记住在收到内存警告后可以重新初始化这些变量.Cocoa将删除视图,一旦您转到该特定视图控制器,您的viewDidLoad方法将再次被触发.
| 归档时间: |
|
| 查看次数: |
7889 次 |
| 最近记录: |