使用唯一标识符获取NSManagedObject?

时间:2012-04-18 17:57:56

标签: iphone objective-c core-data nsmanagedobject

NSManagedObjects是否带有任何类型的唯一标识符?

我需要获取几个对象,但很可能它们具有相同的属性,所以在获取这些对象之后,我怎样才能区分它们?

感谢。

1 个答案:

答案 0 :(得分:7)

是。每个NSManagedObject都有一个-objectId访问者,它会返回NSManagedObjectID个实例。这些唯一标识有问题的对象。然后,您可以使用NSManagedObjectContext的方法-objectWithID:-existingObjectWithID:error:重新检索对象。

请注意,如果在插入后尚未保存对象,则对象ID将是一个临时ID,在保存时将更改。您可以强制使用-[NSManagedObjectContext obtainPermanentIDsForObjects:error:]分配持久ID,但这与实际保存一样昂贵。