【发布时间】:2015-01-14 06:57:04
【问题描述】:
我正在创建一个 ViewController 对象并将其推送到导航控制器。 当对象从堆栈中弹出时 - 它没有被释放并且 Deinit 没有被调用。这可能是什么原因?
这是推送的代码:
self.navigationController?.pushViewController(CustomViewController(), animated: true)
这是弹出的代码:
self.navigationController?.popViewControllerAnimated(true)
【问题讨论】:
-
你必须使用 dealloc 来清理所有分配的资源,而不是 deinit。
-
我正在使用 Swift - 所以应该使用 Deinit - 不是吗?
-
也许您在
CustomViewController中有很强的参考周期。你能提供更多关于你的视图控制器的信息吗? -
没什么特别的。它拥有一个 TableViewController(它是数据源和委托)和一个 UISearchDisplayController
-
但是,@godmoney,眼见为实。我们不知道您的数据源/委托方法在做什么,正如他们所说的,魔鬼在细节中。
标签: swift uinavigationcontroller deinit