утечка памяти mutableCopy - PullRequest
       2

утечка памяти mutableCopy

0 голосов
/ 29 сентября 2010

Может кто-нибудь пролить свет на то, почему использование mutableCopy приводит к утечке памяти?

- (id)objectInListAtIndex:(unsigned)theIndex {
       NSSortDescriptor *descriptor = [[[NSSortDescriptor alloc] initWithKey:@"noteNumber"  ascending:YES] autorelease];
       [list sortUsingDescriptors:[NSArray arrayWithObjects:descriptor,nil]];
       NSMutableArray *theArray = [list mutableCopy];
       NSDictionary *theDict = [theArray objectAtIndex:theIndex];
       return theDict;
 }

1 Ответ

7 голосов
/ 29 сентября 2010

Потому что mutableCopy возвращает сохраненный объект, и вы никогда не отпустите theArray.

Методы копирования всегда возвращают сохраненный объект, который вызывающий отвечает за освобождение. Это также подробно описано в API документах и руководстве по управлению памятью .

...