2010-04-02 134 views
-2

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

- (void) awakeFromNib{ 

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

我一定要释放?如果我这样做,那会是在一个finalize方法或dealloc方法?

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

回答

2

是的,既然你保留了对象,你必须释放它。您要释放它的地方是dealloc方法。是的,当启用垃圾回收功能时,它会忽略所有保留/释放呼叫。请阅读内存管理规则here了解更多信息。