Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone loadView与init方法_Iphone_Cocoa_Ios_Uiview_Loadview - Fatal编程技术网

Iphone loadView与init方法

Iphone loadView与init方法,iphone,cocoa,ios,uiview,loadview,Iphone,Cocoa,Ios,Uiview,Loadview,请告诉我调用init和loadView方法的时间。 据我所知,初始化视图时只调用一次init方法,并且在加载视图时调用loadView。因此,即使在视图堆栈中推送一个新视图,然后弹出它,也应该调用弹出视图的loadView。但是,当我在调试模式下运行代码时,这两个方法都会被调用一次,而不管我加载同一屏幕多少次。如果我遗漏了什么,请告诉我。在某些方面你是对的:) 实例化ViewController对象时将调用init方法。每次ViewController应将其视图加载到内存中时,都会调用loadV

请告诉我调用init和
loadView
方法的时间。
据我所知,初始化视图时只调用一次init方法,并且在加载视图时调用
loadView
。因此,即使在视图堆栈中推送一个新视图,然后弹出它,也应该调用弹出视图的
loadView
。但是,当我在调试模式下运行代码时,这两个方法都会被调用一次,而不管我加载同一屏幕多少次。如果我遗漏了什么,请告诉我。

在某些方面你是对的:) 实例化ViewController对象时将调用init方法。每次ViewController应将其视图加载到内存中时,都会调用loadView方法。这可能发生在视图第一次显示之前,或者应该显示第二次、第三次,。。。时间,但已从记忆中删除。(如果应用程序内存不足,可能会发生这种情况。)
如果希望在每次视图可见时执行某些代码,则应该查看ViewWillExample/ViewWillEnglishe/ViewDidExample/ViewDidEnglishe方法

当您访问视图控制器的
view
属性时,将调用
loadView
,该属性为
nil

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

您需要的是
视图将出现:
视图显示: