【问题标题】:Segue, what happens to UIViewController and self.view on the heap?Segue,堆上的 UIViewController 和 self.view 会发生什么?
【发布时间】:2013-02-13 12:57:02
【问题描述】:

当在 UIViewController 上调用 viewDidUnload 时,self.view 最终被销毁,其分配的内存被返回到堆中,但父 UIViewController 仍保留在堆上。

当使用故事板执行转场时,目标控制器及其关联视图被创建和初始化,下一次执行转场时,会创建一个全新的控制器。

我的问题是,有谁知道 segue 最终是否将 UIViewController 和视图都返回到堆中,我会假设它确实如此,因为下次执行 segue 时一切都会重新创建?

【问题讨论】:

  • 旁注:viewDidUnload 已弃用。在 iOS 6 中不调用它。
  • 谢谢杰克,我不知道。

标签: iphone objective-c uiviewcontroller segue


【解决方案1】:

我会构建一个测试应用。测试的结果是,在调用 viewDidUnload(在目标 viewController 中)之后,再次执行了序列,新的 view-和 viewController 实例(目标 viewController)被创建了。

【讨论】:

  • 谢谢Areal,这当然是一个选择,我希望有人可能会立即知道。这不是一个真正的问题,我只是对幕后的机制感到好奇。我将做一个测试平台并检查是否创建了新实例。非常感谢...
猜你喜欢
  • 2010-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-23
  • 2019-10-06
  • 2013-04-04
  • 1970-01-01
  • 2016-07-13
相关资源
最近更新 更多