2009-04-24 56 views
2

我想弄清楚在哪些情況下,我需要在涉及屬性時關心內存管理。我從一個我不記得的地方寫下了一些東西,他們說如果一個屬性除NSNumber或NSValue之外還有其他值,並且沒有setter,那麼UIKit會自動釋放舊值並保留新值。雖然我沒有得到它,爲什麼UIKit會設置任何東西,如果沒有setter(直接到值,我猜)。如果我的屬性沒有setter(只讀),如果UIKit不是NSNumber或NSValue,那麼它是否保留該值?

回答

0

如果屬性聲明爲:

@property(retain) NSString *prop; 

當你將一個新的它會釋放舊的價值。

但是,請確保你釋放你的dealloc方法,以及:

- (void)dealloc { 
    [prop release]; 

    [super dealloc]; 
} 
相關問題