请让我知道什么时候loadView
调用 init 和方法。据我所知,init 方法仅在视图初始化时调用一次,并且loadView
在加载视图时调用。因此,即使您在视图堆栈中推送一个新视图然后弹出它,也loadView
应该调用弹出视图的。但是当我在调试模式下运行我的代码时,这两种方法都会被调用一次,无论我加载同一个屏幕多少次。如果我遗漏了什么,请告诉我。
问问题
2951 次
2 回答
5
您在某些方面是对的 :) 实例化 ViewController 对象时正在调用 init 方法。每次 ViewController 将其视图加载到内存时都会调用 loadView 方法。这可能发生在第一次显示视图之前,或者应该显示第二次、第三次、……但之前已从内存中删除时。(如果您的应用程序内存不足,可能会发生这种情况。)如果您想在每次视图可见时执行一些代码,您应该查看方法 viewWillAppear/viewWillDisappear/viewDidAppear/viewDidDisappear。
于 2011-01-14T21:59:46.450 回答
5
loadView
view
当您访问视图控制器的属性时调用它,它是nil
.
如果视图已被卸载(viewDidUnload
出于内存目的已被调用),loadView
则将再次调用。如果不是,它将不会被调用。
你想要的是viewWillAppear:
or viewDidAppear:
。
于 2011-01-14T22:03:06.043 回答