У меня есть основной контекст управляемого объекта (MOC) в потоке пользовательского интерфейса, который обычно обновляется рабочими потоками.Работает нормально!
Однако у меня есть одно представление, где я создаю другой MOC (называемый editMOC) в потоке пользовательского интерфейса.Я читаю myObject через objectID в редактировании MOC.После этого я делаю некоторые модификации объекта myObject
в редактировании MOC.Если пользователь нажмет cancel
, произойдет следующее:
[self.editingMOC reset];
myObjectEdit = [self.editingMOC existingObjectWithID:myObject.objectID error:NULL];
Разве это не должно восстановить myObjectEdit
в его прежнее состояние?Я не позвонил сохранить.Тем не менее myObjectEdit
все еще имеет мои изменения.Любая идея, что может быть не так?
Спасибо!
Обновление:
Видимо, обновление myObjectEdit
правильно (спасибо Марк Адамс).Я отследил это до странного поведения:
// RESET VALUE - OK
NSLog(@"%@", myEditObject);
self.tableView.userInteractionEnabled = NO;
// OLD VALUE AGAIN - WRONG
NSLog(@"%@", myEditObject);
Я ничего не изменил относительно userInteractionEnabled
.Есть ли у этого метода побочные эффекты, не указанные в документации?