【发布时间】:2016-12-14 21:19:16
【问题描述】:
我发现Core Data 基本上是一个SQLite 数据库。每个实体都是一个单独的表。还有一些不是实体的表,包括Z_METADATA、Z_MODELCACHE 和Z_PRIMARYKEY。我不知道他们是做什么的。
无论如何,我看到“实体表”的字段与我在数据模型中添加的那些属性大致相同,加上一些额外的。例如,如果我的实体只有一个名为 date 的属性。该表将有一个ZDATE 字段以及Z_PK、Z_ENT 和Z_OPT。
显然,每个实体都有一个存储在Z_PK 字段中的主键!我想获取特定NSManagedObject 的这个主键的值。我想在数据库中查询具有特定主键的NSManagedObject。
所以基本上是这样的:
let pk = myManagedObject.primaryKey
// the below should return myManagedObject
managedObjContext.objectWithPrimaryKey(someEntityDescription, pk)
我在文档中搜索了 NSManagedObject 并看到了 objectID。但我不认为是这样,或者是吗?
【问题讨论】:
-
当您说主键时,我相信您指的是对象 ID。请查看 stackoverflow.com/questions/901640/core-data-primary-key
标签: ios swift sqlite core-data