Должен ли я автоматически выпустить перед формой возврата - (NSString *) описание? - PullRequest
4 голосов
/ 03 мая 2011

Сегодня я переписывал - (NSString *) метод описания, и мне было интересно, нужно ли автоматически высвобождать эту строку перед ее возвратом.

-(NSString*)description {
    NSMutableString *response = [[NSMutableString alloc] init];
    // perform appends
    return [response autorelease];
}

Ответы [ 2 ]

7 голосов
/ 03 мая 2011

Да, согласно правилу владения ваша функция не должна делегировать владение возвращенной строкой вызывающей стороне.

2 голосов
/ 03 мая 2011

Да.Любой метод, имя которого не начинается с alloc, new, copy или mutableCopy, не должен возвращать сохраненный объект.См. Правила управления памятью

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