CoreData 关系循环?

CoreData relationships loops?

我有 2 个实体 BuildingsGroupOfBuildings:

Building1 有:GroupOfBuildings1
Building2 有:GroupOfBuildings1

GroupOfBuildings1 有:Building1Building2Building3

关系:

Building <<----> GroupOfBuildings
Building <<--->> GroupOfBuildings
Building <---->> GroupOfBuildings


问题:

GroupOfBuildings 有一组 Buildings 可以在 Buildings 中使用,还包含对 BuildingsmainBuildings 引用。最重要的是,Buildings 需要引用 GroupOfBuildings。这是建立关系的正确方法还是有另一种方法?似乎设置多个(循环)关系不是我应该做的事情。有什么建议吗?


示例代码:

let buildingDescription = NSEntityDescription.entity(forEntityName: "Buildings", in: context)!
let building1 = Buildings(entity: buildingDescription, insertInto: context)
let building2 = Buildings(entity: buildingDescription, insertInto: context)
let building3 = Buildings(entity: buildingDescription, insertInto: context)

let groupOfBuildingDescription = NSEntityDescription.entity(forEntityName: "GroupOfBuildings", in: context)!
let groupOfBuildings1 = GroupOfBuildings(entity: groupOfBuildingDescription, insertInto: context)

groupOfBuildings1.mainBuilding = building1
groupOfBuildings1.groupOfBuildings = Set([building2, building3])

building1.groupOfBuildings = groupOfBuildings1
building2.groupOfBuildings = groupOfBuildings1

注:

我有另一个问题使用相同的数据,但问题不同。

由于命名错误,这很难理解。称呼事物本来的样子,不要将对象名称复数化。 Buildings 应该叫 BuildingGroupOfBuildings 可能是 BuildingGroup,不知道 'items' 指的是什么...

也就是说在同一个对象之间建立多个关系是没有问题的。你可以有 buildingGroup.mainBuildingbuildingGroup.otherBuildingsbuildingGroup.extraBuildings 都可以,只要正确命名它们就可以了。