Удаление объекта Core Data перед извлечением представления из UINavigationController - PullRequest
1 голос
/ 14 февраля 2010

Следующий код удаляет объект основных данных, если пользователь не завершил изменение новой записи (это происходит при операции вставки).Контроллер корневого представления создал объект и передал ссылку на мое представление.Это прекрасно работает, если пользователь нажимает кнопку «Готово» на моем виде, но если вместо этого он перемещается назад с помощью кнопки «Назад» на панели навигации, то корневой вид, к которому он возвращается, просто навсегда зависает.

Я что-то делаю явно неправильно?Я рассмотрел ожидание создания сущности, пока пользователь не закончит с представлением, но в будущем это представление также будет обрабатывать редактирование существующих сущностей, поэтому мой текущий способ передачи существующей сущности в это представление предпочтителен.

- (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]);     
    }

}

1 Ответ

0 голосов
/ 14 февраля 2010

Это обычный подход, и этот код выглядит нормально.

Вы установили точку останова и прошли через нее, чтобы убедиться?Вам нужно отладить и отследить, где код висит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...