У меня есть простое приложение CoreData, которое позволяет добавлять элементы в список, отображаемый в виде таблицы.Когда пользователь вводит новый элемент, вызывается следующий метод:
- (void)addNewItem:(NSString *)item
{
// Create a new instance of the entity managed by the fetched results controller.
NSManagedObjectContext *context = [self.fetchedResultsController managedObjectContext];
NSEntityDescription *entity = [[self.fetchedResultsController fetchRequest] entity];
Item *newItem = [NSEntityDescription insertNewObjectForEntityForName:[entity name] inManagedObjectContext:context];
[newItem setName:item];
// Save the context.
NSError *error = nil;
if (![context save:&error])
{
//error handling code
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
[context release];
[entity release];
[newItem release];
Приложение всегда позволяет добавить один элемент в список, но затем вылетает при попытке добавить второй.Если я удалю «[newItem release];», приложение позволит вам добавить 4 элемента списка, а затем внезапно завершит работу, когда вы попытаетесь ввести пятый элемент.все три из этих операторов release в конце метода удаляются.Кто-нибудь может объяснить, почему?