Управление памятью iPhone - PullRequest
0 голосов
/ 27 июля 2011

У меня есть метод следующим образом. Я хочу знать, является ли возвращенный словарь автоматически выпущенным или нет.

- (NSDictionary *)someMethod {
    NSMutableDictionary *myDict = [[NSMutableDictionary alloc] init];           //did not autorelease it here

    //-------------------------------
    //Some code
    //-------------------------------
    return (NSDictionary *) myDict;
}

Примечание: я не добавил авто-релиз при преднамеренной инициализации объекта.

Ответы [ 2 ]

0 голосов
/ 27 июля 2011

myDict не будет автоматически освобожден. Будет сохранен. Заменить обратную линию на

return [autoDlease myDict]; // не требуется приведение

В противном случае вы, скорее всего, столкнетесь с утечкой.

0 голосов
/ 27 июля 2011

Да, вы должны сделать автоматический выпуск, а не выпуск

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