Objective-C中的对象是自杀的好习惯吗?也就是说,对于要宣布[self dealloc]
的对象,其中-dealloc
允许像往常一样有序放风?主要风险是什么?自杀:Objective-C对象自己调用自己的-dealloc方法
碰巧我有一个具体的例子,一个扩展NSObject的定制定时器对象,它包含一个NSTimer实例和一个设置为限制定时器激发次数的NSUInteger。当时间到了,对象告诉计时器到-invalidate
,然后通过调用-dealloc
方法自杀。因为这是自动的,所以我们不必担心必须跟踪对象或者关键地知道什么时候是正确的时刻来释放它。
如需更详细的解释,请参阅我的文章here。
另一个建议(来自朋友)是使用' - (void)didFinishCounting'这样的方法制作一个包装。 – SK9 2010-09-29 23:01:14