写[self.someproperty release]是否正确?

时间:2011-04-12 12:01:07

标签: objective-c

当我实现dealloc方法时,我曾写过:

[preopertyX release];

今天我找到了这段代码:

[self.propertyX release];

我不确定这种方法是否完全正确。你有什么想法 ? (我们可以假设propertyX是一个保留和合成的属性)。

2 个答案:

答案 0 :(得分:2)

根据我的理解,您应该将其设置为nil,或者您可以释放实例变量。

[self setPropertyX:nil]

[propertyX release]

您列出的方法可能会产生不必要的副作用,但如果您希望setter的侧面操作发生,我建议设置为nil。

这里接受的答案是:iPhone - dealloc - Release vs. nil非常好。

这是一个很好的辩论,非常有力地概述了你可以使用的方法。

http://iphonedevelopment.blogspot.com/2010/09/dealloc.html 接着是  http://www.red-sweater.com/blog/1423/dont-coddle-your-code

答案 1 :(得分:1)

如果您设置了propertyX保留并合成,则可以编写[self.propertyX release]