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