患者具有dob,姓名,ID等属性.
Checkpoint具有dateRecorded,height,weight等属性.
您可能会得到这样的想法 – 我希望有一组患者,然后每个患者都可以拥有与该患者相关的检查点.
在两个实体上,我应该如何设置设置?设置是:
为此我看了documentation,我仍然感到困惑.我认为我想要的是一对多关系(对于病人),但是我不知道如何为它们中的任何一个设置反转,或删除规则和其他东西.谢谢!!
解决方法 我本周刚刚开始使用Core Data.好问题!关系:
由于一名患者可以有许多检查站,因此患者与检查站的关系是一对多关系. “反向关系”的概念基本上是这样的:你有一种关系(患者到检查点) – 现在继续从反向看,检查点的角度来看.检查点只适用于单个患者.因此,Checkpoint to PatIEnt关系是一对一的关系.
反向关系:
要处理反向关系,只需创建每个关系,忽略反向关系.然后,在每个对象上建立关系后,继续将逆定义为另一个实体上的关系.
换句话说,关系指向另一个实体或一组实体.反向关系指向另一个实体的关系.
删除规则:
就删除规则而言,它非常简单.当试图删除有检查点的患者时……
>拒绝:核心数据不允许您删除患者.
>级联:核心数据将删除实体(患者),以及级联关系并删除这些对象. (换句话说,Core Data也会删除Checkpoint对象.)
> Nullify:核心数据将删除患者,但首先删除关系.检查站将保持不变.
对于PatIEnt实体可能需要deny或cascade,具体取决于您希望如何管理数据.根据您的使用案例,您可能不希望无效,因为检查点依赖于患者实体.
你想要检查点的nullify,因为Cascade会阻止你删除检查点而不删除整个病人,而Deny会有效地强迫它.
总结以上是内存溢出为你收集整理的在Core Data for iOS中建模一对多关系全部内容,希望文章能够帮你解决在Core Data for iOS中建模一对多关系所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)