我正在构建一个应用程序,该应用程序必须根据相对较大的数据集(大约 10000 行左右)上的日期进行简单的搜索、排序和限制。
数据是只读的,必须与应用程序捆绑在一起,并且可能会在更新时被覆盖而无需迁移。
我之前已经成功地使用过二进制 plist,但我从来不需要搜索和排序数据,它总是足够小,可以完全加载到内存中。
预加载 coreData 似乎很麻烦,尤其是因为数据很可能是只读的。我读过一些描述方法的博客,它们似乎都非常hacky。
我想我的问题是:
有没有预加载 coreData 的好方法,或者有没有办法从 plist 中搜索和排序数据,或者有其他方法吗?
编辑:似乎我误解了 coreData 的全部内容。我在源代码中找到了这一行:
NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"TestFour.sqlite"];
我已将其替换为:
NSURL *storeURL = [[NSBundle mainBundle] URLForResource:@"TestFour" withExtension:@"sqlite"];
只需将 SQLite 数据库文件移动到应用程序包中,作为奖励,它可以只读并且可以通过新的应用程序版本轻松更新。
感谢您对研究的所有帮助。