Как освободить возвращенный объект? - PullRequest
1 голос
/ 10 сентября 2011

Я закодировал этот метод в классе:

- (NSMutableDictionary *)fetch {
   NSMutableDictionary *ret = [[NSMutableDictionary alloc] init];

  // filling ret with some data here

  return ret;
}

Правильный ли способ возврата этого объекта NSMUtableDictionary без выпуска?

Спасибо за помощь,

Stephane

Ответы [ 3 ]

3 голосов
/ 10 сентября 2011

Выполните следующие действия:

- (NSMutableDictionary *)fetch {
   NSMutableDictionary *ret = [[NSMutableDictionary alloc] init];
      // filling ret with some data here
   return [ret autorelease];
}

Чтобы узнать больше о autorelease ing, прочитайте этот документ Apple под названием Руководство по программированию управления памятью .

2 голосов
/ 10 сентября 2011

используйте вот так

- (NSMutableDictionary *)fetch {
   NSMutableDictionary *ret = [[NSMutableDictionary alloc] init];

  // filling ret with some data here

  return [ret autorelease];
}
0 голосов
/ 10 сентября 2011

Документы для разработчиков

Автоматическое освобождение помещает объект в пул автоматического выпуска, и освобождение вызывается позже после его возврата.

...