我一直遵循的基本规则是“如果我分配,我dealloc”,但这是一个过于简单的观点吗?
答案 0 :(得分:13)
规则是“如果您调用以new
或alloc
开头,称为retain
或包含copy
的方法,那么您必须(自动){ {1}}”。 (记住这个的简单方法是首字母缩略词:“NARC”)
如果您将release
声明为@property
或(retain)
,那么您负责支持的对象,您必须执行以下操作:
(copy)
在[myProperty release];
方法中。
答案 1 :(得分:1)
经验法则:(几乎)从不直接致电dealloc
,而是使用release
。有一些例外。例如,在对象的dealloc
方法中,您应该调用[super dealloc]
。