比如说,我有一个UIView我声明的类型的类(比如“MyClass”),一个(nonatomic, strong)类委托类型的属性,用于处理事件将由该类触发。
应用程序启用了 ARC,它工作得很好,有一次我发现了一些有趣的东西,我在我的一个视图控制器(比如 TempViewController)中放置了一个 dealloc,我在其中设置了 to 的MyClass委托self。每当我从 TempViewController 弹出时,它应该调用它的 dealloc 方法,但事实并非如此。我不知道为什么,但不是,我为其他类放置了deallocs,它们都被调用了。
然后我发现,它没有在 TempViewController 中调用,因为我设置了 MyClass 委托。我也对其他类进行了同样的测试,然后它停止调用 dealloc。
后来我更改了,将属性委托给,assign而不是strong,尽管它再次正常工作。
我发现的另一种解决方案是,通过设置MyClassnil的viewDidDisappear委托(就像我们为MKMapViewor所做的那样UIWebView),它将为同一个 TempViewController 类调用 dealloc。
是什么导致了问题?任何帮助,建议?