【问题标题】:loadView Vs init methodloadView 与 init 方法
【发布时间】:2011-01-14 21:52:06
【问题描述】:

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

【问题讨论】:

    标签: iphone cocoa ios uiview loadview


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      loadView 在您访问视图控制器的view 属性时调用,它是nil

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

      你想要的是viewWillAppear:viewDidAppear:

      【讨论】:

        猜你喜欢
        • 2011-12-27
        • 1970-01-01
        • 1970-01-01
        • 2011-12-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-04
        • 2011-03-30
        相关资源
        最近更新 更多