我刚刚将我的应用程序升级到 ARC,但我在处理带委托的类时遇到了问题。因为我的目标是 iOS 4.0 及更高版本,所以我使用__unsafe_unretained
并@property (unsafe_unretained)
存储委托指针。
但是,我现在发现的是,我在视图控制器中创建的服务(包括委托)在我删除该视图控制器后现在仍然存在,这导致在它之后尝试与视图控制器(委托)进行通信已被释放...因此在启用 Zombies 时出现错误。
如何在视图控制器或服务中更新我的代码,以便当视图控制器被删除(从导航控制器堆栈中弹出)时,带有委托指针的服务也会从内存中删除?