在保存时,我可以告诉Core Data为y对象使用特定的唯一ID吗?

时间:2010-02-12 09:43:13

标签: iphone core-data

示例:我从XML文件中读取数据。此数据具有唯一的id元素。我想用原始的唯一ID存储这些对象。我该怎么做?

我发现我可以向托管对象询问它的​​ID,如下所示:

NSManagedObjectID *moID = [managedObject objectID];

但问题是:XML告诉我id元素这是哪个对象,如果这个对象已经存在,我需要在核心数据的数据库中查找,或者不。那么它是在我的托管对象模型中为该实体创建一个id属性然后查询的唯一选项吗?那么我会有两个id系统吗?

2 个答案:

答案 0 :(得分:6)

不要担心核心数据的ObjectID。这是一个内部唯一ID,在对象的生命周期中不保证不变(例如,当您将对象保存到sql store时它会发生变化)。只需在模型中创建一个新的强制属性,并将其标记为索引,这样检索就会很快。

答案 1 :(得分:1)

在与此类对象关联的实体中,只需添加string类型的另一个属性,将其称为objectID或类似,并声明它是必需的。