【问题标题】:viewDidUnload is not called for some view controller某些视图控制器不调用 viewDidUnload
【发布时间】:2011-06-19 10:30:32
【问题描述】:

我有一个带有 2 个视图控制器的 UITabBar。第一个显示 UITableView,第二个显示 UITextView。 当我单击第一个选项卡以显示选项卡视图并在模拟器中发出内存警告时,会自动调用 UITextView 的 didReceiveMemoryWarning,但是不会调用 viewDidUnload。 当我点击第二个选项卡以显示 textview 并在模拟器中发出内存警告时,第一个视图控制器的 didReceiveMemoryWarning 会自动调用,并且 viewDidUnload 也会被调用。 所以想知道为什么不调用第二个视图控制器的viewDidUnload方法。另外,当应用程序收到内存警告消息时,如何使第一个视图控制器(显示表格视图) viewDidUnload 方法不会自动调用。 谢谢。

【问题讨论】:

    标签: iphone objective-c


    【解决方案1】:

    Apple 文档暗示只有在从命名的 NIB 文件加载视图时才会自动卸载视图。如果 UITextView 视图是手动创建的,这将解释卸载。

    至于第二部分,根据我的尝试,没有办法阻止自动卸载,因为它发生在基类中。如果有一种方法可以创建视图并“隐藏”它来自 NIB 的事实,那就可以做到。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-24
      • 1970-01-01
      相关资源
      最近更新 更多