【发布时间】:2013-10-03 04:45:07
【问题描述】:
在 Apple 的文档中它说
如果你需要管理资源而不是释放实例变量,你可以实现一个dealloc方法。您不必(实际上您不能)释放实例变量,但您可能需要在系统类和其他未使用 ARC 编译的代码上调用 [systemClassInstance setDelegate:nil]。
这是否包括 UIKit 和框架委托,例如,UIPageViewController 的父级具有委托 UIPageViewControllerDelegate - 这是否必须在 dealloc 中取消?
【问题讨论】:
-
我假设是的,但从未在 Apple 自己的示例代码中看到过。
-
您所说的“父母...有代表”是什么意思。在这种情况下,哪些类的 dealloc 实现将设置为 nil?
-
@CarlVeazey Parent 是一个 UIViewContoller,它采用 UIPageViewControllerDelegate 协议,带有一个 UIPageViewControlle 的实例。
标签: ios objective-c memory-management delegates automatic-ref-counting