loadView与init方法

Abh*_*nav 2 iphone cocoa uiview loadview ios

请告诉我init和loadView方法被调用的时间.据我所知,初始化视图时,init方法只被调用一次,并且loadView在加载视图的任何时候调用它.因此,即使您在视图堆栈中推送新视图然后弹出它,也loadView应该调用加速视图.但是当我在调试模式下运行我的代码时,无论我加载相同的屏幕多少次,这两种方法都被调用一次.如果我错过了什么,请告诉我.

Pau*_*aul 5

你是对的:)在实例化ViewController对象时调用init方法.每次ViewController将其视图加载到内存时,都会调用loadView方法.这可能发生在第一次显示视图之前,或者应该显示第二次,第三次......时间,但之前已从内存中删除.(如果你的应用程序内存不足,可能会发生这种情况.)如果你想在每次视图可见时执行一些代码,你应该看一下方法viewWillAppear/viewWillDisappear/viewDidAppear/viewDidDisappear.


Jil*_*ouc 5

loadView当您访问view视图控制器的属性时调用它nil.

如果视图已被卸载(viewDidUnload已被调用以用于内存目的),则将loadView再次调用该视图.如果不是,它将不会被调用.

你需要的是viewWillAppear:viewDidAppear:.