iOS – 核心数据集属性主键

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

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

  • ID
  • 名称
  • 年龄

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

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

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

这个id在内部用来链接实体关系。 不需要像在SQL中一样将自己的ID保留为主键。

你总是可以通过NSManagedObject.objectID得到id。

通过使用NSMananagedObjectContext.objectWithId(...)通过托pipe对象上下文直接执行通过其id获取对象NSMananagedObjectContext.objectWithId(...)

为什么你需要id作为你的主键,它不是SQL,并且没有主键(即使在核心数据后面是SQL,你也不使用SQL和主键)。 在userId或entityId中重命名您的属性ID。 当你想让你的实体与你的ID使用NSPredicate:

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