Моя проблема в том, что я сортирую массив с NSSortDescriptor , но у меня есть некоторые утечки.Я новичок в Objective C, хотя у меня есть опыт работы с C ++, но я не совсем понимаю retain, release и autorelease.Мой сокращенный код выглядит следующим образом:
-(IBAction)sortByDate
{
NSSortDescriptor *Descriptor = [[NSSortDescriptor alloc] initWithKey:@"date" ascending:YES];
NSArray *sortDescriptors = [NSArray arrayWithObject:Descriptor];
NSArray *sortedArray =[productListe sortedArrayUsingDescriptors:sortDescriptors];
[productListe release];
productListe=nil;
productListe=[[NSMutableArray alloc]initWithArray:sortedArray];
[tableViewProduct reloadData];
NSLog(@"[Descriptor retainCount] =%i",[Descriptor retainCount]); //(return 2)
NSLog(@"[sortDescriptors retainCount] =%i",[sortDescriptors retainCount]); //(return 1)
NSLog(@"[sortedArray retainCount] =%i",[sortedArray retainCount]);//(return 1)
}
In Instruments Я получаю этот список утечек:
NSSortDescriptor 0x80148a0 32 myProject -[myClass sortByDate]
__NSArrayI 0x80148c0 16 myProject -[myClass sortByDate]
__NSArrayReverseEnumerator 0x84079c0 16 UIKit -[UITableView reloadData]
__NSCFArray 0x8015f10 32 Foundation +[NSArray(NSArray) newWithContentsOf:immutable:]
Malloc 32 Bytes 0x800f330 32 Foundation +[NSArray(NSArray) newWithContentsOf:immutable:]
__NSArrayI 0xc914e90 352 Foundation -[NSArray(NSKeyValueSorting) sortedArrayUsingDescriptors:]
Вот мои вопросы:
- Если в моем приложении будут утечки, отклонит ли Apple его из магазина приложений?
- Как можно выпустить все объекты без сбоев.
- Почему утечка из reloadData приводит к утечке?.
- Как я могу отслеживать утечки, такие как утечка Foundation в моем приложении.
Это мое первое приложение и мой первый вопрос на форуме, так что спасибо за все ваши ответы.
спасибо за ответ, это здорово знать, что кто-то может помочь.Я использую инструменты и освобождаю все в нужном месте (я думаю;)), но когда я пытаюсь отсортировать свое табличное представление, происходит сбой приложения (с reloadData и без него).и если вы можете сказать, что означает процент (%) в инструменте?
теперь у меня нет утечек в инструментах (кроме утечки данных перезагрузки, но я думаю, что вы не можете помочь мне в этом), ее картина - это то, что вы можетепосмотрим, что у меня есть, если я использую cmd + shift + A (я не знаю ее названия, извините):
https://lh6.googleusercontent.com/-cjs_IGsE1Vw/TkccLmyAsGI/AAAAAAAAAEA/YrkE9fUS9XA/Capture%252520d%2525E2%252580%252599e%2525CC%252581cran%2525202011-08-14%252520a%2525CC%252580%25252001.48.43.png
я думаю, что "sortDescriptors" автоматически выпущен, но если яне выпускайте это в инструментах, у меня есть 50% -ая утечка ????
думаю, что вы.