Dismiss ViewController 不释放内存
Dismiss ViewController does not deallocate memory
我有一个与内存相关的问题,也就是说,每当我转到(继续)第二个视图然后返回(关闭)时,内存一直在堆积。
我的第二个 viewController 中有以下代码。但是,它不会释放内存。
override func viewWillDisappear() {
super.viewWillDisappear()
self.dismissController(self)
self.removeFromParentViewController()
}
提前致谢。
当控制器不调用 dealloc 时,这意味着您有一些保留周期。我们应该阅读代码以找到保留的位置。所以你可以通读这个博客并找到你的代码的问题:
如果您使用的是当前视图控制器,那么您应该使用以下代码
self.dismissViewControllerAnimated(true, completion: nil)
如果您使用导航控制器推送,请使用以下代码
self.navigationController?.popViewControllerAnimated(true)
可能创建了一个保留循环。在 class 中的某处,您将 "self" 传递给另一个 class 或结构。在 class.
中对 "self" 进行文本搜索
如果您需要帮助找到周期 post 所有在此处赠送 "self" 的行。
我有一个与内存相关的问题,也就是说,每当我转到(继续)第二个视图然后返回(关闭)时,内存一直在堆积。
我的第二个 viewController 中有以下代码。但是,它不会释放内存。
override func viewWillDisappear() {
super.viewWillDisappear()
self.dismissController(self)
self.removeFromParentViewController()
}
提前致谢。
当控制器不调用 dealloc 时,这意味着您有一些保留周期。我们应该阅读代码以找到保留的位置。所以你可以通读这个博客并找到你的代码的问题:
如果您使用的是当前视图控制器,那么您应该使用以下代码
self.dismissViewControllerAnimated(true, completion: nil)
如果您使用导航控制器推送,请使用以下代码
self.navigationController?.popViewControllerAnimated(true)
可能创建了一个保留循环。在 class 中的某处,您将 "self" 传递给另一个 class 或结构。在 class.
中对 "self" 进行文本搜索如果您需要帮助找到周期 post 所有在此处赠送 "self" 的行。