Core data “与”的区别是什么;asynchronousFetchRequest“;及;创建一个私有上下文";?

Core data “与”的区别是什么;asynchronousFetchRequest“;及;创建一个私有上下文";?,core-data,nsfetchedresultscontroller,sendasynchronousrequest,Core Data,Nsfetchedresultscontroller,Sendasynchronousrequest,1.iOS8提供了asynchronousFetchRequest,我们还可以创建“私有上下文”来获取结果,那么asynchronousFetchRequest和“创建私有上下文”之间有什么区别呢 2.NSFetchedResultsController上下文的类型必须是MainQueueConcurrencyType?(阻止UI?)是否有解决方案?AsynchronousFetchRequest将创建另一个上下文并在该上下文上执行提取。自己创建私有上下文意味着您可以在后台上下文中处理manag

1.iOS8提供了asynchronousFetchRequest,我们还可以创建“私有上下文”来获取结果,那么asynchronousFetchRequest和“创建私有上下文”之间有什么区别呢


2.NSFetchedResultsController上下文的类型必须是MainQueueConcurrencyType?(阻止UI?)是否有解决方案?AsynchronousFetchRequest将创建另一个上下文并在该上下文上执行提取。自己创建私有上下文意味着您可以在后台上下文中处理managedObjects,而无需在执行该工作时阻塞主线程。如果您有自己的上下文,那么您必须自己将ManagedObject传输到主线程,而异步获取请求已经在这样做了。FetchedResutlsController不一定需要MainQueueConcurrency上下文,但请记住,如果其PrivateQueueConcurrency,则缓存将无法工作,并且您需要使用
performBlock:
方法才能处理对象。在为FRC获取对象时,您的UI可能会被阻止,但这不会花费很长时间。如果您需要核心数据的速度,请首先索引您的实体。如果您想确保在提取之前有数据,可以使用带有countForFetchRequest的AsynchronousFetchRequest返回一个数字并相应地执行操作

在#2上,有什么解决方案可以解决什么?如果必须是MainQueueConcurrencyType,当我加载数据时,UI将被阻止,如何解决?