我对iOS开发相对较新,所以请原谅,如果这是一个迟缓的问题。我读过this,但我仍然有点困惑。如何在处理自动合成属性时使用dealloc?
我没有使用ARC。 (是的,是的,我知道我应该,但我不知道在这一点上)在我的类的头我有这样的
/*-----------------------------------------------------------------------+
| The name of the sender/receiver
+-----------------------------------------------------------------------*/
@property (nonatomic, retain) NSString *name;
我不合成这个变量,但让编译器做的工作。
下面的什么被认为是为dealloc
方法
#1的dealloc伊娃
-(void) dealloc {
[_name release];
[super dealloc];
}
#2 dealloc的属性最佳实践
-(void) dealloc {
[self.name release];
[super dealloc];
}
#3和最后一个问题。通常在dealloc
方法中将property
设置为nil
?即
-(void) dealloc {
[self.name release];
self.name = nil;
[super dealloc];
}
如果有人能够向我解释这一点真的很感激。
问候!
另外getter是一个懒惰初始化的完美场所,你不想在'dealloc'开始这个过程。我曾经有一个'-release,= nil'组合的宏,它使'dealloc'很好和清晰。这里是一个[回答](http://stackoverflow.com/a/1618867/792677)解释'逗号运算符'。 – 2013-02-27 08:51:57