Я занимаюсь разработкой приложения, которое использует несколько потоков для выполнения интенсивных вычислений, а также для получения большого объема данных. Таким образом, я пытаюсь быть хорошим маленьким разработчиком и придерживаюсь правил Apple по параллелизму при разработке моего приложения с CoreData
. По сути, у меня есть NSOperation
, который запускает и получает данные. Он возвращает (методу в главном потоке) NSMutableSet
, который содержит NSManagedObjectID
для каждой возвращаемой сущности.
Вот метод в главном потоке, где я хочу снова преобразовать эти NSManagedObjectID
s в фактические NSManagedObject
подклассы:
-(void)updateLocalContextWithObjectIDs:(NSMutableSet *)idSet {
NSMutableSet *entitySet = [[NSMutableSet alloc] init];
for (NSManagedObjectID *objectID in idSet) {
[entitySet addObject: (Person *)[[self.dataProvider sharedManagedObjectContext] objectWithID:objectID]];
}
self.entitySet = entitySet;
[entitySet release];
}
Проблема, с которой я столкнулся, заключается в том, что я получаю следующую ошибку при запуске этого цикла:
-[Person persistentStore]: unrecognized selector sent to instance 0x619b270
Есть идеи, почему это происходит? Вызов persistentStore
для объекта Person
не выполняется мной - это должно происходить в CoreData
, и я что-то не так делаю правильно.
Заранее спасибо.