У меня есть список элементов, экземпляры класса Item, сохраненные в модели базовых данных.
Эти элементы отображаются в NSTableView с использованием NSArrayController и Привязки какао . Работает очень хорошо.
Однако, когда я удаляю некоторые элементы, используя следующие инструкции:
// Removes selected items
for (Item *item in self.itemsArrayController.selectedObjects) {
[self.managedObjectContext deleteObject:item];
}
NSError *error = nil;
if (![self.managedObjectContext save:&error]) {
[[NSApplication sharedApplication] presentError:error];
}
через некоторое время , я получаю исключение CoreData не может выполнить ошибку .
Я прочитал всю найденную документацию (включая Устранение неполадок с базовыми данными ), но ничего полезного не нашел.
Я использую новый ARC (автоматический подсчет ссылок), поэтому я почти уверен, что после сохранения в контексте управляемого объекта не пытаюсь получить доступ к управляемому объекту, который был удален.
ОБНОВЛЕНИЕ: Мое приложение является однопоточным, поэтому я не пытаюсь получить доступ к managedObjectContext из нескольких потоков.