【问题标题】:Regarding CoreData and relationship between 2 entities?关于CoreData和2个实体之间的关系?
【发布时间】:2014-08-04 10:25:10
【问题描述】:

问题与CoreData有关。我在 Coredata 中创建了 2 个实体。一个是 DocumentReference,另一个是 DocumentData。

DocumentReference 包含以下属性: id - 主键 docId - documentData 实体中文档 ID 的引用 name - 文档的名称

DocumentData 包含以下属性: id - 主键 data - 文档的实际内容。

DocumentReference 可以多次引用同一个文档,而 DocumentData 实体中只有一个条目。也已创建相同的关系。

我面临的问题是,当我删除 DocumentReference 时,只有在 DocumentReference 表中没有该文档的引用时,才应删除 DocumentData 表中的文档。

【问题讨论】:

  • 添加图表的屏幕截图以更好地理解您的问题。
  • Yatheesha:添加图表。

标签: ios core-data


【解决方案1】:

由于 DocumentReference 与 DocumentData 有一对多的关系,您可以检查引用文档的计数,它是一个 NSSet。像这样,其中 hasDocumentDatas 是多对多关系:

-(if DocumentReference.hasDocumentDatas.count <1){
   // Delete
}
else {
    NSLog(@"DocumentReference has still %d documents referenced",DocumentReference.hasDocumentDatas.count);
}

【讨论】:

  • 这可以使用关系和删除规则(级联,拒绝)来完成吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-01
  • 2013-01-10
  • 2023-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多