NSFetchRequest 与 NSAsynchronousFetchRequest 性能对比

NSFetchRequest vs NSAsynchronousFetchRequest performance

我正在创建一个包含地图的 iOS 应用程序。数据使用 Core Data 存储。当应用程序启动时,获取这些数据的最快方式是什么? NSFetchRequest 或 NSAsynchronousFetchRequest?

如果 UI 提取造成一些延迟或性能问题,那么您应该使用 NSAsynchronousFetchRequest。我认为您可能会获取一些注释,因此您需要使用 NSAsynchronousFetchRequest

这里有一个与您的问题相关的很好的答案:

NSFetchRequestNSAsynchronousFetchRequest 更多关于同步与异步,而不是关于速度。因此,如果您在 UI 上下文中获取,那么它是关于阻塞 UI 而不是在您等待结果返回时阻塞。

根据您查询的记录数,还有其他因素可能会更显着地影响速度:

  • fetchBatchSize
  • fetchLimit/fetchOffset
  • 故障
  • 优化您的获取谓词和排序描述符