gpt4 book ai didi

iphone - 使用 CoreData 在 iPhone 上导入大型数据集

转载 作者:行者123 更新时间:2023-12-03 18:52:54 25 4
gpt4 key购买 nike

我面临着非常烦人的问题。我的 iPhone 应用程序正在从网络服务器加载数据。数据以 plist 形式发送,解析后需要使用 CoreData 将其存储到 SQLite 数据库。

问题是,在某些情况下,这些数据集太大(5000 多条记录),导入时间太长。更重要的是,当 iPhone 尝试暂停屏幕时,Watchdog 会终止该应用程序,因为它仍在处理导入并且长达 5 秒没有响应,因此导入永远不会完成。

我根据“高效导入数据”一文使用了所有推荐的技术http://developer.apple.com/mac/library/DOCUMENTATION/Cocoa/Conceptual/CoreData/Articles/cdImporting.html和其他有关此的文档,但它仍然非常慢。

我正在寻找的解决方案是让应用程序挂起,但让导入在后面运行(更好的一个)或完全阻止尝试挂起应用程序。或者有更好的想法也欢迎。

非常感谢任何有关如何克服这些问题的提示!谢谢

最佳答案

您可能希望发送可供使用的 sqlite 文件,而不是将 plist 文件推送到手机。这有很多优点:

  1. 无需在手机上导入
  2. 更加紧凑

如果您总是替换整个内容,只需覆盖设备中的持久存储即可。否则,您可能需要将已下载的所有 SQLite 维护为 plist 数组,然后使用它来将所有存储添加到 persistenceStoreCoordinator。

底线:使用几个预编译的 sqlite 文件并将它们添加到 persistenceStoreCoordinator 中。

您可以使用 iPhone 模拟器创建这些 CoreData-SQLite-Stores 或使用独立的 Mac 应用程序。您需要自己编写这两个内容。

关于iphone - 使用 CoreData 在 iPhone 上导入大型数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2140798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com