关于核心数据和2个实体之间的关系?

时间:2014-08-04 10:25:11

标签: ios core-data

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

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

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

DocumentReference可以多次引用同一文档,DocumentData Entity中只有一个条目。也创造了相同的关系。

我面临的问题是,当我删除DocumentReference时,只有在DocumentReference表中没有文档引用的情况下才能删除DocumentData表中的Document。

enter image description here

1 个答案:

答案 0 :(得分:1)

由于DocumentReference与DocumentData具有多对多关系,因此您可以检查作为NSSet的引用文档的计数。像这样,hasDocumentDatas是多对子关系:

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