【发布时间】:2010-11-10 23:35:39
【问题描述】:
我有一个 CoreData 数据库,其中包含相互关联的对象。
EntityFoo - 属性:uniqueId,关系:与其他 EntityFoo 对象一对多,关系:与其他 EntityUnresolvedRelationship 对象一对多
EntityUnresolvedRelationship - 属性:uniqueId,inverseRelationship:返回 EntityFoo 对象
当我的 iPhone 应用程序启动时,我从 Web 服务中获取这些对象的信息。我解析 Web 服务响应并创建 Foo 实体。在我下载并解析数据并将 Foo 对象放入 CoreData 时,我不想花时间查找需要与该对象相关的其他 EntityFoo 对象,而且很可能我还没有一个 Foo 对象,如果它还没有被下载和解析,那么我很快就为这个关系创建了一个 UnresolvedRelationship 对象,并将 uniqueId 存储在其中,以便我以后可以解析这个对象的关系。
现在我试图找出最有效的方法来遍历所有 Foo 或 UnresolvedRelationship 对象并在所有 Foo 对象之间创建正确的 CoreData 关系。换句话说,最后我不想有 UnresolvedRelationship 对象...这只是暂时的... Foo 对象只会彼此有关系。
可能有 15,000 多个 Foo 对象。
有没有一种好方法来获取所有 Foo 对象和所有 UnresolvedRelationship 对象,我可以遍历其中一个数组并通过它的 uniqueId 快速找到另一个数组中的匹配实体,以便我可以设置CoreData 关系?
无论如何,会喜欢任何指针。
【问题讨论】: