2017-01-31 2 views
1

Я добавил максимальные минимальные правила/проверки атрибутов в .xcdatamodel так:Обновить (Reload) NSManagedObject после неудачной проверки

validation rules

Тогда, если я установить недопустимое значение и попытаться сохранить как это так, терпит неудачу, как я бы ожидать:

object.rating = 100 
try? AppDelegate.context.save() 

Но тогда, когда я вновь извлечь объект из контекста он будет по-прежнему содержат недопустимый .rating, а не тот, до проверки (тот, который все еще находится в хранилище).

Если я перезапущу приложение, тогда rating объекта будет старым действительным значением. Как обновить managedObjectContext до значения из хранилища данных после неудачной попытки сохранения?

ответ

0

Пожалуйста, попробуйте следующее:

managedObjectContext.refresh(managedObject, false) 

Он должен обновить объект в контексте управляемого объекта. Кроме того, вы можете использовать:

managedObjectContext.reset() 

Это сбросит все managedObjects в контексте без сохранения.

+0

Оба предложения работают, спасибо –

Смежные вопросы