我正在构建一个iPhone应用程序,其中有两个数据存储区,一个用于静态数据,另一个用于动态数据。我为此使用了两个独立的核心数据堆栈。动态数据包括ID的实体和属性以及日期的另一个属性。 ID属性引用静态数据存储区中实体的匹配ID。
我想从静态存储中获取动态数据存储区中具有ID的项目,并根据动态数据存储区中的日期对它们进行排序。我已经用Google搜索了这个,并在这里搜索了有关跨商店获取属性的问题,但我还没有设法找到解决方案。我可以从静态存储中获取正确的项目,但顺序不正确,所以我的问题是:我可以以某种方式(可能使用获取的属性)获取按动态存储中的日期排序的静态项目,或者我是否需要在我获取它们之后在代码中对它们进行排序?
编辑: 静态存储中的实体可能会被动态存储中的多个实体引用。
答案 0 :(得分:0)
您可以在托管对象模型中向实体添加瞬态属性。瞬态属性是按需计算的,因此这将是在其他商店中进行查找的合适位置。
然后在您的获取请求中,您只需添加一个排序描述符,该描述符引用目标对象上的瞬态属性。
在transient属性的实现中,查找其他商店中的匹配记录并返回日期值。
我不清楚为什么你选择隔离数据,这是一个特别脆弱的范例,因为你必须要么牺牲维护跨商店参考的性能,要么冒险无法找到记录在动态商店里。