我现在已经对核心数据进行了相当多的研究,现在我决定是时候在我正在做的新项目中使用它了。
我从未在工作项目中使用过它,只是遇到了一些问题,我想获得社区的反馈。
我正在做一个基于位置的应用程序,我想在我的核心数据模型中存储“郊游”,因此对于每次旅行,我都有一些传统信息,例如日期、距离、描述等......但我还需要保存位置我需要在地图上绘制一些点的信息。
因此,我每次旅行都有一个“到”和“从”对象,我创建了一个具有纬度、经度和位置名称属性的 MapPoint 实体。在我的 Trip 实体中,我添加了目的地为 MapPoint 的“至”和“来自”关系。
但是我该如何处理逆属性呢?
因为 Xcode 似乎给出了警告,所以我将其保留为“No inverse”。
我需要在 MapPoint 上创建 2 个关系来引用 Trip 的“to”关系,另一个关系引用 Trip 的“from”关系。
它是否正确 ?我不太明白。
我对用户实体有类似的问题,该实体在其他几个实体中使用,我是否应该实现与使用用户的每个实体的反向关系?
为了让 Xcode 满意,我似乎需要在用户上创建一个与 Trip 的关系,并返回到我正在使用的其他实体,例如上传、图片实体等......在我看来,认为 Trip 有一个 User 是令人不安的对象,然后准备链接回上传/照片...这与该旅行无关。
如果您想支持逆向关系to
and from
关系,您只需向 MapPoint 实体添加适当的关系即可。给他们打电话tripTo
and tripFrom
,或任何适合您的内容,并将它们设置为您的逆关系to
and from
关系,分别。
正如文档所解释的,您不需要在两个方向上建立关系模型,但这样做会让生活变得更轻松。例如,当用户被删除时会发生什么?如果您有许多与用户相关的其他实体,那么您需要某种方法来找出哪些对象与该用户相关,以便您可以更新它们。如果存在反向关系,Core Data 可以使用您选择的删除规则(例如无效)自动更新任何相关对象。如果没有逆向关系,则由您来修复任何相关对象。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)