這些是類,它們聲明指向對象的指針是正確的嗎?您可以像對象一樣向它們發送方法。 NSNumber * myNumber = [NSNumber numberWithInteger: x];
NSNumber,NSSet類的內存管理
那麼他們爲什麼沒有公佈,像這樣: [myNumber release];
謝謝!
這些是類,它們聲明指向對象的指針是正確的嗎?您可以像對象一樣向它們發送方法。 NSNumber * myNumber = [NSNumber numberWithInteger: x];
NSNumber,NSSet類的內存管理
那麼他們爲什麼沒有公佈,像這樣: [myNumber release];
謝謝!
按照慣例,類方法初始化程序(如您所顯示的類創建自動釋放實例)不需要調用release
,除非您以某種方式調用retain
。但是,實例方法初始值設定項(如您的案例中的initWithInteger:
)會返回保留的實例。那些你需要釋放自己。
有一條規則應該記住內存管理「NARC」:當您使用New Alloc Retain Copy時,您應該釋放或自動釋放對象,否則您不應該這樣做。
你可能會覺得這有幫助:http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/MemoryMgmt/Articles/mmRules.html – 2013-03-10 18:03:46