Я пытаюсь понять проблему, возникающую у меня с Core Data и простым запросом на выборку:
Мне нужно отобразить некоторые записи, и я выполняю эти строки кода
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
[fetchRequest setEntity:[NSEntityDescription entityForName:@"Venue"
inManagedObjectContext:self.managedObjectContext]];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"id_" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[sortDescriptor release];
sortDescriptor = nil;
[fetchRequest setSortDescriptors:sortDescriptors];
[sortDescriptors release];
sortDescriptors = nil;
[self.managedObjectContext executeFetchRequest:fetchRequest error:nil];
Пока все хорошо, но в Instruments я вижу, что перед загрузкой записей моя память составляет 9 МБ, затем память скачет до 44 МБ (!!) и все еще там. Но я хочу выпустить все записи из памяти, потому что они мне больше не нужны. Я что-то пропустил? Я думал, что Core Data выпускает записи после того, как они больше не нужны. Я попытался выполнить цикл for для освобождения каждого ManagedObject, но они уже имеют +1 счет, что означает, что они скоро будут освобождены.