我正在研究iOS应用程序,我想循环查看数据以查看Core Data DB中是否存在记录。
我有大约100条记录,我想循环查看记录是否存在。
我是否应该使用NSPredicate在每个循环上发出获取请求,或者我应该为数据库中的所有项创建一次获取请求并将它们放入数组并对数组进行检查? 我想我真正的问题是设备上的价格是多少?
谢谢
答案 0 :(得分:1)
您应该提出一个请求来获取所有记录,然后使用快速迭代遍历返回的数组。
我想我的真正问题是设备上的代价是多少?
这个问题的答案实际上是让CoreData为您进行管理。它会将对象加载为“故障”,这些故障不占用大量内存,只在访问时从DB加载它们。
对于100条记录,假设您的对象具有合理的大小,则不会以任何方式(性能或内存)达到限制。如果对象非常大(比如图像),CoreData可能不是存储它们的最佳方式。