Отключить отмену для создания / удаления NSManagedObject

В моей базовой модели данных у меня есть отношение, называемоеlistItems который ссылается на несколькоlistItem сущности, каждая сstringValue приписывать. Я создал элемент управления, который по сути представляет собой списокNSTextFieldsпо одному на каждый элемент списка. Контроль связан сlistItems правильно, и я настроил его так, что нажатие клавиши возврата создает новое поле непосредственно под редактируемым в настоящее время и меняет фокус на новое поле. Таким образом, чтобы добавить новый элемент, пользователь нажимает Return.

Аналогичным образом, если пользователь заканчивает редактирование, а редактируемое в настоящее время поле пусто, поле удаляется (как, например, пустые поля появляются только в «режиме редактирования», так сказать). Это работает довольно хорошо. В основном по моемуlistItem NSManagedObject подкласс, я делаю следующее:

// Don't allow nil values
if (!value && [[self.recipe ingredients] count] > 1) {
    for (EAIngredientRef *ingredient in [self.recipe ingredients]) {
        if ([[ingredient sortIndex] integerValue] > [[self sortIndex] integerValue]) {
            [ingredient setSortIndex:[NSNumber numberWithInteger:([[ingredient sortIndex] integerValue]-1)]];
        }
    }
    [[self managedObjectContext] deleteObject:self];
    return;
}

// Code to handle if it is a real value

Проблема, с которой я сталкиваюсь, заключается в том, что каждый раз, когда строка удаляется таким образом, она регистрируется в undoManager. Таким образом, если я редактирую строку, нажимаю Return (что создает новую строку) и щелкаю, чтобы закончить редактирование, строка исчезает. Однако, если я затем отменю, пустое поле появляется снова. Моя цель - сделать так, чтобы операции удаления, включающие пустые поля, игнорировались undoManager.

Как бы я пошел по этому поводу? Я пытался использовать[[[self managedObjectContext] undoManager] disableUndoRegistration] и связанныйenableUndoRegistration в нескольких местах (например,-didTurnIntoFault, но я подозреваю, что регистрация отмены могла произойти до того метода)

Ответы на вопрос(1)

Ваш ответ на вопрос