0

我有一个在后台队列上运行的后台任务。我需要在这个任务中加载一些 NSManagedObjects。我知道我需要使用私有上下文,但是如何将此上下文绑定到我现有的后台队列,以便我可以在后台任务中使用这个 NSManagedObjects?我应该在这个后台任务中执行,performBlock或者performBlockAndWait我应该只从performBlock私有的 UI 线程调用NSManagedObjectContext并使用这个上下文中的队列来执行任何后台任务,包括加载保存 NSManagedObjects 和其他后台任务,如与 rest-api 通信等......

我只是不确定是否可以使用上下文中的此队列来执行与 CoreData 无关的任何其他任务NSManagedObjects?如果不是如何使用NSManagedObjects我为我的任务创建的队列中的那些?

4

1 回答 1

0

尽管队列管理总是很棘手,但 Core Data 生成的队列可以像任何其他队列一样运行代码。

特别是,您可以使用托管对象上下文中的队列来执行与 Core Data 或其托管对象无关的其他任务。当 Core Data 于 2005 年首次在 macOS 上发布时,必须在主线程上访问托管对象,这当然可能会忙于其他任务。

于 2018-11-12T06:16:13.043 回答