Dodałem flagę -com.apple.CoreData.ConcurrencyDebug 1 do mojego celu. Problem polega na tym, że mam bloku tła, na którym działa, i wywala gdy używam albo NSPrivateQueueConcurrencyType lub NSMainQueueConcurrencyTypeUżywanie -com.apple.CoreData.ConcurrencyDebug 1 w przypadku awarii bloku asynchronicznego w obu kontrakcjach MainContext i PrivateContext
mój kod:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSManagedObjectContext *privateManagedObjectContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSPrivateQueueConcurrencyType];
[privateManagedObjectContext setParentContext:_mainContext];
[User fetchUserWithContext:_ privateManagedObjectContext];
}];
Ja również próbowałem:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
[User fetchUserWithContext:_mainContext];
}];
W obu sytuacjach otrzymuję:
CoreData` + [NSManagedObjectContext Wielowątkowość_Violat ion_AllThatIsLeftToUsIsHonor]:
Dzięki za pomoc,
Ja gość to była brakująca część. Dziękuję Ci! – Lasti