Swift 核心数据多线程问题
我已经在多线程环境中实现了核心数据,对此我有一些疑问和问题,我将在下面列出:-Swift 核心数据多线程问题,swift,multithreading,core-data,Swift,Multithreading,Core Data,我已经在多线程环境中实现了核心数据,对此我有一些疑问和问题,我将在下面列出:- 一些博客和答案都说应该有一个NSPersistentStoreCoordinator(PSC),但根据我的理解,“PSC”应该等于ManagedObjectModel的数量。如果我错了,请纠正我 根据doc,ManagedObjectContext对象应该等于我们为在特定模型中执行活动而创建的线程数。令我惊讶的是,我使用了来自不同线程的单个ManagedObjectContext对象,并在没有任何崩溃的情况下同时执
NSPersistentStoreCoordinator
(PSC),但根据我的理解,“PSC”应该等于ManagedObjectModel的数量。如果我错了,请纠正我
func fetchUserDetail(productId:Int)->用户详细信息?{
let fetchRequest=NSFetchRequest(entityName:“用户详细信息”)
做{
fetchRequest.predicate=NSPredicate(格式:“产品id==%d”,产品id)
let results:[User_Details]?=try(singleinstancemanagedObjectContext.fetch(fetchRequest)作为?[User_Details])
如果让结果=结果{
……逻辑。。。。。
}
}将let错误捕获为NSError{
}
归零
}
如果我们使用不同的线程访问模型,那么最好的做法是每次创建一个NSManagedObjectContext,或者创建一个NSManagedObjectContext,然后使用NSPrivateQueueConcurrencyType处理并发。