我對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