Core data 我应该一直使用NSAsynchronousFetchRequest而不是NSFetchRequest吗?

Core data 我应该一直使用NSAsynchronousFetchRequest而不是NSFetchRequest吗?,core-data,Core Data,据我所知,NSAsynchronousFetchRequest是标准NSFetchRequest的包装器,它在后台线程中提供异步执行、取消和进度报告,以及额外的好处,即在执行期间,上下文不会被阻止 我是否遗漏了什么?如果您已经为后台数据加载设置了一个核心数据堆栈,并且有一个主线程上下文,那么是否仍然建议使用“普通”NSFetchRequests而不是使用NSAsynchronousFetchRequests?,如果大多数工作在后台进行,并且UI获取非常简单,那么就不需要使用异步获取 如果您正在设

据我所知,
NSAsynchronousFetchRequest
是标准
NSFetchRequest
的包装器,它在后台线程中提供异步执行、取消和进度报告,以及额外的好处,即在执行期间,上下文不会被阻止


我是否遗漏了什么?如果您已经为后台数据加载设置了一个核心数据堆栈,并且有一个主线程上下文,那么是否仍然建议使用“普通”
NSFetchRequests
而不是使用
NSAsynchronousFetchRequests

,如果大多数工作在后台进行,并且UI获取非常简单,那么就不需要使用异步获取

如果您正在设置一个新的堆栈,并且您知道您的UI获取处理将非常复杂,因为您需要为每个请求获取和后处理大量数据,那么异步获取可能会有所帮助


这真的取决于你在做什么,没有单一的规则。如果UI获取导致性能问题,则可以切换到异步以避免该问题。如果您可以在用户积极使用UI执行其他操作时运行fetch,那么这也是一个很好的选择。但是,如果用户正在等待简单获取的结果,那么这可能是不值得的…

如果您已经为后台数据加载设置了一个核心数据堆栈,并且有一个主线程上下文,其中大多数工作在后台,并且您的UI获取非常简单,那么就不需要使用异步获取

如果您正在设置一个新的堆栈,并且您知道您的UI获取处理将非常复杂,因为您需要为每个请求获取和后处理大量数据,那么异步获取可能会有所帮助

这真的取决于你在做什么,没有单一的规则。如果UI获取导致性能问题,则可以切换到异步以避免该问题。如果您可以在用户积极使用UI执行其他操作时运行fetch,那么这也是一个很好的选择。但是,如果用户正在等待一个简单获取的结果,那么这可能是不值得的