如何(正确)为NSManagedObject的实例创建唯一的对象ID?

时间:2011-04-28 01:53:07

标签: objective-c core-data

我想设置自定义NSManagedObject ID以匹配CouchDB中相应对象的ID。 CoreData文档(在"Using Managed Objects"中)说:

  

您有时可以从创建自己的唯一ID(UUID)属性中受益,该属性可以为新插入的对象定义和设置。这允许您使用谓词有效地定位特定对象(但在保存操作之前,只能在原始上下文中找到新对象。)

但NSManagedObjectContext文档说你绝对不能覆盖" objectID

那么,如何正确设置自定义对象ID?

1 个答案:

答案 0 :(得分:3)

阅读文档我认为它建议您在对象上创建一个附加属性,用于存储您自己的UUID(本例中来自CouchDB的ID),而不是覆盖objectID。然后,您可以使用谓词搜索自己创建的UUID属性并将CouchDB ID存储在其中。请注意,如果要在原始上下文之外进行搜索,则必须先执行保存操作。