【发布时间】:2011-10-16 01:57:03
【问题描述】:
我在我的类“ClassA”中合成并声明了这个属性
@interface ClassA
@property (nonatomic, retain) NameFieldCell* nameCell;
@end
我知道规则说 nameCell 属性应该在我的 dealloc 方法中使用retain|copy|声明时释放...
但是,'ClassA' 被延迟实例化,有时甚至没有使用 nameCell 属性,这意味着我不使用它的 setter 方法,也不访问它,也不显式保留它。
我还应该在我的 dealloc 方法中调用 [nameCell release] 吗?我很难理解我应该发布一些甚至没有初始化的东西。而且既然没有初始化,那么引用计数器为0,释放它就没有意义了?还是在实例化“ClassA”时,nameCell 会以某种方式自动保留,即使我没有使用它?
【问题讨论】:
-
是的,你仍然应该在你的 dealloc 方法中释放它。
标签: objective-c ios oop properties dealloc