Обнаружение удаления основных данных

57
5

Дополнительная информация:

У меня есть представление сообщений, в котором у меня есть UITextView из которого я сохраняю текст в draft переменной диалога в viewWillDisappear.

Когда приложение пытается обновить код доступа пользователя, они могут получить ответ "не обновить", и приложение регистрирует пользователя (только одно устройство может быть зарегистрировано в одно время в этом приложении).

В методе выхода я удаляю все настройки приложения и rootViewController Core Data, затем устанавливаю новый rootViewController и выполняю makeKeyAndVisible.

Вопрос:

Теперь, когда вы все это знаете, настройка rootViewController вызывает viewWillDisappear, которая, в свою очередь, пытается установить переменную draft viewWillDisappear, которая больше не существует в Core Data...

Что я могу сделать, чтобы решить эту проблему?

спросил(а) 2015-05-19T15:12:00+03:00 5 лет, 4 месяца назад
1
Решение
73

Самое простое и быстрое исправление было бы при настройке черновика:

if let context = conversation.managedObjectContext {
// you have a valid conversation, you can assign the draft
}

Если managedObjectContext равен nil, это означает, что объект был удален из Core Data.

РЕДАКТИРОВАТЬ

Этот ответ обеспечивает лучший способ определить, был ли удаленный объект удален из Core Data.

Я бы посоветовал вам переосмыслить весь процесс выхода из системы (очистка ресурсов), поскольку в будущем вы не будете масштабироваться.

ответил(а) 2015-05-19T15:17:00+03:00 5 лет, 4 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема