2010-04-02 138 views
-2

如果不需要的垃圾收集:Objective-C的垃圾收集

- (void) awakeFromNib{ 

//Create the NSStatusBar and set its length 
statusItem = [[[NSStatusBar systemStatusBar] statusItemWithLength:NSSquareStatusItemLength] retain]; 
... 

我一定要釋放?如果我這樣做,那會是在一個finalize方法或dealloc方法?

如果需要垃圾回收,那麼上面的保留呼叫是否會被自動忽略?

回答

2

是的,既然你保留了對象,你必須釋放它。您要釋放它的地方是dealloc方法。是的,當啓用垃圾回收功能時,它會忽略所有保留/釋放呼叫。請閱讀內存管理規則here瞭解更多信息。