最常見的做法在IOS setter方法如下:保留在iOS的setter方法釋放慣例
- (void)setMyString:(NSString *)newString {
if (newString != myString) {
[myString release];
myString = [newString retain];
}
}
相反,這不是很好的做法
- (void)setMyString:(NSString *)newString {
if (myString != nil) [myString release];
myString = [newString retain];
}
}
的原因是什麼平等檢查在第一種情況下?秒情況下的問題是什麼?
@Till不是真的。請參閱下面的答案。 – 2012-09-28 14:28:24
只是很好,爲什麼不使用常規的iOS屬性?你爲什麼需要setter –
雖然你應該改變你的句子的順序,但是字符串屬性通常被聲明爲'copy'' not'retain' –