Я столкнулся с проблемой при попытке удалить объект из моего основного хранилища данных. Ошибка, которую я получаю при вызове deleteOject
, выглядит следующим образом: An NSManagedObjectContext cannot delete objects in other contexts.
В Интернете я нашел некоторую документацию по этой ошибке, но в основном она касается доступа к ManagedObjectContext в нескольких потоках, что может вызвать проблемы, но в настоящее время я не работаю над другими потоками. Я просмотрел свой код, пытаясь убедиться, что я не создаю никакой другой контекст, кроме того, который я создаю в своем AppDelegate, и не могу найти вероятного виновника.
Код, с которым я тестирую, находится ниже:
NSMutableSet *remoteNids = [NSMutableSet setWithObjects:@"140", @"141", nil];
for (GCEvent *event in nodeEventsFromStore) {
if (![remoteNids containsObject:event]) {
NSLog(@"Event no longer exists on remote. Removing object %@ from store.", event);
[[delegate managedObjectContext] deleteObject:event];
}
else {
NSLog(@"Event %@ exists on remote", event);
}
}