-1

我将 StackMob 与 CoreData(远程数据库)一起使用,但我认为这是一个通用的 Core Data 问题。

我有 3 个实体:

  1. 用户登录)
  2. 汽车
  3. 自行车

每个实体都有几个属性。

一个用户可以有多个 Cars 和 Bikes 对象(一对多关系)。汽车和自行车只能有一个所有者(用户)(反对一关系)。

现在假设我们有 2,000 个用户。每个用户都是汽车经销商,在 CoreData 中存储了 500 辆汽车和 300 辆自行车记录/对象。我希望用户根据汽车和自行车的属性进行获取。我计划为此使用谓词。为了减少不断的获取请求,我还计划使用缓存。

但是,我的问题是:

  1. 我应该如何保存每个用户下的记录/对象?CoreData 中有这个术语吗?

  2. 我希望用户登录并能够仅在用户创建的对象中根据其属性(型号、制造商、日期戳等)获取所有汽车/自行车。我想我要避免的是当用户根据 Cars and Bikes 实体中的属性执行获取请求时,它只在自己的用户对象下搜索。我不希望获取请求搜索所有其他用户的对象,因为这将是一种浪费,因为我担心这会减慢应用程序的速度。在 CoreData 中设置它的最佳方法是什么?

刚刚浏览了两本核心数据书籍,我不知道如何处理这个问题。我知道我不是最聪明的,所以我向专家寻求建议。谢谢你。

4

1 回答 1

2

CoreData 实际上经过了非常出色的优化。你需要的是一个 NSSearchPredicate 和 NSFetchedResultsController。这些都很复杂,我不能只是“告诉”你如何使用它们。我发现这个开放课程非常有帮助

http://www.stanford.edu/class/cs193p/cgi-bin/drupal/

它使用核心数据在 iOS 中构建网站获取应用程序。检查核心数据集,如果您不知道他在说什么,请返回并观看一些较早的集

于 2013-04-05T21:04:00.923 回答