NSManagedObjectContext

NSManagedObjectContext

我使用NSManagedObjectContext performBlock{}但,
我的应用程序总是在这里崩溃



如何知道有关NSManagedObjectContext的正确线程。
创建NSManagedObjectContext代码在这里

Person *aPerson = (Person *)[NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedObjectContext:[CoreDataManager sharedInstance].managedObjectContext];

请给一些意见

最佳答案

像这样创建您的ManagedObjectContext

NSManagedObjectContext *moc = [[NSManagedObjectContext alloc]
                     initWithConcurrencyType:NSMainQueueConcurrencyType];
NSMainQueueConcurrencyType创建与主调度队列(因此​​与主线程)关联的上下文。您可以使用这样的上下文将其链接到在主线程上运行所需的对象,例如UI元素。
NSPrivateQueueConcurrencyType创建并管理一个私有(private)调度队列以对其进行操作。您必须使用新方法performBlock:或performBlockAndWait:。然后,上下文将在其自己的专用队列上执行传递的块。

最后,NSConfinementConcurrencyType是默认类型,只能在创建它的线程中使用。

10-08 17:35