我最近一直在关注iPhone的核心数据,我有一个查询,我无法在文献中找到答案。

让我们假设我有一个用户模型对象,与购买对象具有多对多关系。 用户可能会有数千次购买。

到目前为止我看到的所有信息似乎都表明,在该关系中执行的获取操作将返回一个NSSet,其中包含与特定用户<相关联的所有购买对象/ strong>即可。

显然,如果有某种方法可以限制由以下方式获取的购买对象的数量,我更愿意这样做:

1)强加某种标准(例如只购买超过&#163; 1000等);或

2)如果无法进行上述操作,则只能批量取货。

以上可能吗?我担心的是,由于iPhone的内存有限,我可能会因为数以千计的不必要的物品而超载它。

提前感谢您的回复。

有帮助吗?

解决方案

我的理解是,当您获取User对象时,与其Purchase对象的关系将是一个只有在被访问时才会加载的错误。
相反,您可以使用谓词来获取Purchase对象,该谓词指定用户并检查任何其他条件。

也就是说,在花费太多时间处理性能问题之前,我肯定会测试实际的用例(在设备上)。 iPhone和核心数据的效率可能让您感到惊讶。

其他提示

  1. 使用提取的属性
  2. 使用 NSFetchedResultsController
  3. iPhone的核心数据编程指南

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top