我的問題看起來像十幾個關於釋放屬性,但我找不到我正在尋找的確切答案。發佈(非原子,保留)合成屬性
當屬性都被定義爲保留:
@property (nonatomic, retain) NSString * myString;
然後
@synthesize myString;
它生成getter和setter與保持和釋放操作。好的。
當然,屬性必須在dealloc中釋放。
-(void)dealloc {
[myString release];
myString = nil;
[super dealloc];
}
這樣很乾淨。
但是,如果我從不使用myString?它是否預先初始化?我的意見是myString保留計數爲0.但釋放myString在dealloc會減少它,並使應用程序崩潰?但它不會崩潰!
是一種更簡潔的方式來釋放它嗎?
if(myString != nil) {
[myString release];
myString = nil;
}