如何在Coredata中存储自定义结构数组[关闭]

Posted

技术标签:

【中文标题】如何在Coredata中存储自定义结构数组[关闭]【英文标题】:How to store array of custom structs in Coredata [closed] 【发布时间】:2021-06-21 17:41:51 【问题描述】:

我试图弄清楚如何快速存储我在 Coredata 中定义的结构数组。根据我的研究,我认为我需要使用可转换属性,但我还没有找到关于如何做到这一点的可靠指南,而且我对 swift 还很陌生,所以我无法弄清楚出去。

我实际上并不确定在 Coredata 中存储一个数组是否正是我想要做的,所以我将解释我的目标。我正在创建一个应用程序来计时魔方解决。该应用程序允许用户创建具有名称和时间列表的“实例”,以便他们可以将应用程序用于多个谜题并保持时间分开。所以我有一个带有名称、拼图等的 Instance 结构,以及一个存储时间和有关特定解决方案的其他信息的 Solve 结构。 Instance 结构包含一个 Solves 数组。

我正在尝试将其移至 Coredata,因此我现在有一个具有 Instance Struct 具有的属性的 Instance 实体,并且我想在其中存储一个 Solves 数组。所以我想知道我将如何做到这一点,或者我是否应该采取更好的方法。

谢谢!

【问题讨论】:

Core Data 中通常的方式是第二个实体和一对多关系。无法在谓词中处理可转换的属性。 【参考方案1】:

听起来您应该在 CoreData 模型中创建一个 Solve 实体,然后在链接到您的 Solve 实体的 Instance 实体(例如,名为“solves”)上创建一个 To Many 关系。这意味着每个实例都有一组关联的 Solve 实体。

这里有更多关于创建 CoreData 关系的信息:https://developer.apple.com/documentation/coredata/modeling_data/configuring_relationships

【讨论】:

以上是关于如何在Coredata中存储自定义结构数组[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何将 NSMutable 数组中的数据存储在 Core Data 中?

在 UserDefaults 中存储自定义对象数组

Core Data 自定义结构数组

如何在 Swift 3 中将自定义类保存为 CoreData 实体的属性?

结构数组:如何保存在 coredata 中?

16-CoreData之多表关联(存储自定义数据模型)