在 Swift Core Data 中保存没有关系的实体

Posted

技术标签:

【中文标题】在 Swift Core Data 中保存没有关系的实体【英文标题】:Save Entity without Relationship in Swift Core Data 【发布时间】:2018-01-28 21:24:37 【问题描述】:

我现在正在开发一个简单的足球应用程序。这就是我的(简化的)核心数据模型的样子:

游戏实体:

团队实体:

一般来说:我知道缺少反向关系。这与我的问题无关,但我有人知道这样做:请告诉我;)

示例场景:

我创建了一个带有日期(不重要)的新游戏,并将 home 设置为名为“Team A”的团队,away 设置为名为“ B队”。工作正常。

当我编辑“Team A”的名称时,主队的名称也会改变。当然可以,这是一种关系。

但这不是我想要它做的,因为一旦我创建了一个游戏,它就不应该改变数据。

我想将主客场数据移动到游戏实体的属性中,但我无法将类型设置为团队。

我的问题:

是否可以创建一种 Team 对象的副本并将其保存到 Game 对象中?它应该独立于数据库中的 Team 对象并表示“静态副本”。

【问题讨论】:

【参考方案1】:

如果您想保留历史数据,您将需要创建一个新的快照实体(GameTeam 或类似的东西)或将所有“静态”值复制到 Team 实体的新字段中。

【讨论】:

以上是关于在 Swift Core Data 中保存没有关系的实体的主要内容,如果未能解决你的问题,请参考以下文章

Swift 2.1 Core Data - 保存具有一对多关系的数据,但如果已经存在则不要添加异构数据

使用 Core Data 在 Swift 3 中保存和检索 MKAnnotations

在 Swift 中的 Core Data 中保存数据

如何在 Swift 中的 Core Data 中保存多个项目

在 Swift 的 Core Data 中保存自定义类

Core Data 在 Swift 中将数据添加到关系中