2010-08-25 116 views
0

下面是代碼:是否需要釋放該對象?

-(void)myOwnMethod{ 


    NSString *myString; 

    myString = [[NSString alloc]init]; 

    /* 

    Some logic about the String 


    */ 

    [myString release]; //Do I need to release the myString Object? 

} 

正如你所看到的,MyString的對象只有在使用的方法,我需要釋放呢?或者當方法完成時它會自動釋放?謝謝。

回答

7

是的,你需要釋放它。如果您撥打alloc,則必須撥打releaseautorelease

注意:如果您正在使用垃圾回收(目前僅適用於OS X,而不是iOS),則releaseautorelease什麼都不做,您不需要調用它們。如果你正在編寫內存託管代碼(包括爲iOS編寫的任何內容),那麼你必須調用它們。

1

是的。每個allocretaincopy的簡單規則,您需要releaseautorelease

這適用於Objective-C和CoreFoundation對象。

相關問題