iOS - 核心数据集属性主键

时间:2014-11-07 10:37:34

标签: ios iphone core-data swift

我正在Swift中开发一个应用程序,最近开始使用Core Data。 我必须定义我的实体的哪个属性将是我的主键。例如:

我有一个具有该类属性的实体:

  • ID
  • 名称
  • 年龄

我需要“id”属性是我的主键。

在Objective-C中可能是相同的,只需要知道如何定义它。

2 个答案:

答案 0 :(得分:16)

每个NSManagedObject都有自己的唯一键,可在其objectID属性中使用。

此id在内部用于通过其关系链接实体。无需像以前在SQL中那样将自己的id维护为主键。

您始终可以通过NSManagedObject.objectID获取ID。

可以使用NSMananagedObjectContext.objectWithId(...)

直接通过托管对象上下文获取其id的对象

答案 1 :(得分:2)

为什么你需要id作为你的主键,它不是SQL而且没有主键(即使在核心数据背后,你不会使用SQL和主键的SQL) )。在userId或entityId中重命名您的属性ID。如果您希望使用您的ID获取您的实体,请使用NSPredicate:

 [NSPredicate predicateWithFormat:@"(entityId == %d)", entityId]