在用户可以搜索并显示的应用中保存大量数据的最佳方法是什么?
我的想法是,我可以将文件作为支持" .txt"我的应用程序中的文件,以及应用程序第一次在用户手机上运行时,它们会加载到核心数据中,然后由用户访问
关于这一点,我有两个问题:
如果你有任何其他方式有效地做到这一点,那将很高兴知道。除此之外,任何建议都将受到赞赏。
答案 0 :(得分:2)
首先,您可以将文本文件读入内存,即使它存储在应用程序包中。如果要写入文件,只需将文件复制到应用程序的文档目录中即可。
其次,带有制表符分隔数据的文本文件很容易解析并插入到Core Data中。我认为最可行的方法是用一些for循环自己编写。
第三,你是对的,大型数据集可能需要一些时间。优化核心数据插入有一些技巧;最重要的一点是你确定一个好的批量大小(通常是500-1000条记录)并在处理了这么多记录后反复调用save
。
第四,我建议您在分发应用之前将此转换为核心数据。成功完成后,找到生成的sqlite文件,并在应用程序包中找到包含该文件,而不是文本文件。首次运行时,将文件作为包含Core Data持久存储的文件复制到documents目录。只需复制文件将非常快,并且在首次运行应用程序时不会破坏用户体验。