Следующий код удаляет объект основных данных, если пользователь не завершил изменение новой записи (это происходит при операции вставки).Контроллер корневого представления создал объект и передал ссылку на мое представление.Это прекрасно работает, если пользователь нажимает кнопку «Готово» на моем виде, но если вместо этого он перемещается назад с помощью кнопки «Назад» на панели навигации, то корневой вид, к которому он возвращается, просто навсегда зависает.
Я что-то делаю явно неправильно?Я рассмотрел ожидание создания сущности, пока пользователь не закончит с представлением, но в будущем это представление также будет обрабатывать редактирование существующих сущностей, поэтому мой текущий способ передачи существующей сущности в это представление предпочтителен.
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
// If the baby has no name, delete the Baby object that the root view
// already created. Otherwise save it.
NSManagedObjectContext *context = self.baby.managedObjectContext;
if ( [self.babyNameField.text length] == 0 )
[context deleteObject:baby];
// Save
NSError *error = nil;
if (![context save:&error]) {
// unresolved jmu - handle error
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
}
}