My iOS app uses core data via multiple threads. I am getting some crash reports with the following message: \"\'NSObjectInaccessibleException\', reason: \'CoreData could not ful
You should verify that the object exists before accessing it's variables if you're having issues where the object may be deleted on another thread.
Two methods:
NSManagedObjectContextObjectsDidChangeNotification
notification and then parsing the userInfo
on that notification to see which object was deleted.Example:
// Cache and pass the object's ID off to another thread to do work on
// You can just store it as a property on the class
@try {
NSManagedObject *theObject = [managedObjectContext objectWithID:self.theObjectID];
// do stuff with object
}
@catch (NSException * e) {
// An entity with that object ID could not be found (maybe they were deleted)
NSLog(@"Error finding object: %@: %@", [e name], [e reason]);
}