据我了解,NSAsynchronousFetchRequest
是标准NSFetchRequest
的包装器,并提供后台线程,取消和进度报告中的异步执行以及在执行期间上下文不添加的额外奖励阻止。
我是否遗漏了某些内容,是否仍然建议使用“普通”NSFetchRequests
而不是使用NSAsynchronousFetchRequests
?
答案 0 :(得分:0)
如果您已经为后台数据加载设置了核心数据堆栈,使用主线程上下文,其中大部分工作都在后台,并且您的UI提取非常简单,则无需使用异步提取。
如果你正在设置一个新的堆栈而且你知道你的UI获取处理会很复杂,因为你需要为每个请求获取和发布大量数据,那么异步提取可能有所帮助。 / p>
这实际上取决于你正在做什么,没有单一的规则。如果UI提取导致性能问题,那么它是切换到异步以避免该问题的候选者。如果您可以在用户主动使用UI执行其他操作时运行提取,这也是一个不错的选择。但是,如果用户正在等待简单获取的结果,那么这可能是不值得的......