我刚刚开始学习Swift,来自Java和.NET,它真的与众不同,我想用Core Data创建一个小应用程序,我有两个表:Clinic和Doctor,诊所可以有一个或多个医生,所以我需要一对多的关系,这是我到目前为止所做的:
关系:
我在Clinic表中添加了DoctorId和ClinicId作为索引,在Doctor表中添加了DoctorId。我的问题是,在这一点上,我告诉Swift关系是Clinic.doctorId == Doctor.doctorId,诊所表可以有多个医生吗?我希望看到一个我可以告诉Swift哪个属性用作链接的地方。我错过了什么吗?我很感激你的指导。
问候。
答案 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>