我正在Swift中开发一个应用程序,最近开始使用Core Data。 我必须定义我的实体的哪个属性将是我的主键。例如:
我有一个具有该类属性的实体:
我需要“id”属性是我的主键。
在Objective-C中可能是相同的,只需要知道如何定义它。
答案 0 :(得分:16)
每个NSManagedObject
都有自己的唯一键,可在其objectID
属性中使用。
此id在内部用于通过其关系链接实体。无需像以前在SQL中那样将自己的id维护为主键。
您始终可以通过NSManagedObject.objectID
获取ID。
可以使用NSMananagedObjectContext.objectWithId(...)
答案 1 :(得分:2)
为什么你需要id作为你的主键,它不是SQL而且没有主键(即使在核心数据背后,你不会使用SQL和主键的SQL) )。在userId或entityId中重命名您的属性ID。如果您希望使用您的ID获取您的实体,请使用NSPredicate:
[NSPredicate predicateWithFormat:@"(entityId == %d)", entityId]