我应该解除@property项吗?

时间:2010-10-03 22:07:20

标签: objective-c cocoa

我一直遵循的基本规则是“如果我分配,我dealloc”,但这是一个过于简单的观点吗?

2 个答案:

答案 0 :(得分:13)

规则是“如果您调用以newalloc开头,称为retain或包含copy的方法,那么您必须(自动){ {1}}”。 (记住这个的简单方法是首字母缩略词:“NARC”)

如果您将release声明为@property(retain),那么您负责支持的对象,您必须执行以下操作:

(copy)

[myProperty release]; 方法中。

答案 1 :(得分:1)

经验法则:(几乎)从不直接致电dealloc,而是使用release。有一些例外。例如,在对象的dealloc方法中,您应该调用[super dealloc]