iOS - Core Data设置属性主键

11

我正在使用Swift开发应用程序,并最近开始使用Core Data。

我必须定义我的实体中哪个属性将是主键。例如:

我有一个实体,它具有以下类的属性:

  • id
  • name
  • age

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

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

2个回答

19
每个NSManagedObject都有其自己独特的内置密钥,可在其objectID属性中使用。
此ID用于在其关系上连接实体。无需像在SQL中所做的那样维护自己的ID作为主键。
您始终可以通过NSManagedObject.objectID获取ID。
通过其ID获取对象可以直接由托管对象上下文执行,使用NSManagedObjectContext.objectWithId(...)

在 Swift 中呢? 我没有看到名为:objectID 的属性。 - user3804063

2

为什么需要将id作为主键?在非SQL环境下,也没有主键(即使在Core Data后面是SQL,你也不使用SQL和主键)。将属性id重命名为userId或entityId。当您想要使用id获取实体时,请使用NSPredicate:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接