Нужно ли освобождать объект? - PullRequest
0 голосов
/ 25 августа 2010

Вот код:

-(void)myOwnMethod{


    NSString *myString;

    myString = [[NSString alloc]init];

    /*

    Some logic about the String


    */

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

}

Как видите, объект myString используется только в методе, нужно ли его освобождать? или он будет автоматически освобожден после завершения метода? Спасибо.

Ответы [ 2 ]

7 голосов
/ 25 августа 2010

Да, вам нужно выпустить его.Если вы набрали alloc, вы должны позвонить либо release, либо autorelease.

Примечание. Если вы используете сборщик мусора (в настоящее время доступен только в OS X, а не в iOS), тогда release иautorelease ничего не делай, и тебе не нужно звонить им.Если вы пишете код, управляемый памятью (который включает в себя все, что написано для iOS), вы должны вызвать их.

1 голос
/ 25 августа 2010

Да.Простое правило для каждого alloc, retain или copy, вам нужно release или autorelease.

Это относится как к объектам Objective C, так и к CoreFoundation.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...