如果我有一個名爲Catalog的對象,它有一個名爲「title」的(非原子性,保留)attrib。我做「[attrib發佈];」在目錄的dealloc方法中:Objc對象釋放內存管理
-(void)dealloc {
[title release], title = nil;
[super dealloc];
}
後來我做了「Catalog * c = [Catalog new];」。
比較1:
dto.title = [[NSString的頁頭] initWithFormat:@ 「...」,...];
和2:
dto.title = [NSString的stringWithFormat:@ 「...」,...];
這是釋放對象的所有attribs在dealloc方法的常識,但如果我一起的存取方法通過(已具有自動釋放)?我應該釋放還是不釋放dealloc中的accessor'd屬性呢?
+1好的答案,但它可能會更好,因爲使用+ stringWithFormat:避免需要臨時變量。 – 2011-03-30 21:04:06
我正在處理這個問題的第一個案例。第二種情況使用+ stringWithFormat,我同意不需要temp變量,因爲不需要釋放字符串。稍作編輯的答案,以減少歧義。 – Caleb 2011-03-30 21:28:03