Swift - 核心数据中的一对多关系

时间:2016-05-22 22:37:28

标签: swift core-data

我刚刚开始学习Swift,来自Java和.NET,它真的与众不同,我想用Core Data创建一个小应用程序,我有两个表:Clinic和Doctor,诊所可以有一个或多个医生,所以我需要一对多的关系,这是我到目前为止所做的:

enter image description here

关系:

enter image description here

enter image description here

我在Clinic表中添加了DoctorId和ClinicId作为索引,在Doctor表中添加了DoctorId。我的问题是,在这一点上,我告诉Swift关系是Clinic.doctorId == Doctor.doctorId,诊所表可以有多个医生吗?我希望看到一个我可以告诉Swift哪个属性用作链接的地方。我错过了什么吗?我很感激你的指导。

问候。

1 个答案:

答案 0 :(得分:0)

您不使用任何其他属性来分配关系 - 该关系与任何其他项目分开存在。此外,您的关系名称是向后的 - 在诊所,它应该被命名为doctors,而在医生,它应该是clinic。要分配关系,请执行以下操作:

let doctorOne = Doctor(...)
let doctorTwo = Doctor(...)
let clinic = Clinic(...)
//assign either way - first way is more logical and makes more sense (especially as Core Data relationships are default optional)
doctorOne.clinic = clinic
doctorTwo.clinic = clinic
//or
clinic.doctors = Set<doctorOne, doctorTwo>