用唯一标识符获取NSManagedObject?

问题描述:

NSManagedObjects是否带有任何种类的唯一标识符?用唯一标识符获取NSManagedObject?

我需要抓取几个对象,但他们有很大的机会具有相同的属性,所以在获取这些对象之后,我如何区分它们?

谢谢。

是的。每个NSManagedObject都有一个-objectId访问器,它返回一个NSManagedObjectID实例。这些唯一标识了所讨论的对象。然后,您可以使用NSManagedObjectContext的方法-objectWithID:-existingObjectWithID:error:再次检索对象。

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