Core Data 自定义结构数组

Posted

技术标签:

【中文标题】Core Data 自定义结构数组【英文标题】:Core Data custom struct array 【发布时间】:2018-08-19 17:19:32 【问题描述】:

我创建了一个名为 Answer 的自定义结构:

struct Answer 
    var isCorrect : Int
    var time : Double
    

我创建了一个包含答案数组的类

class TestResult 
    var name : String
    var answers : [Answer]
    var date : Date
    init(name: String, answers: [Answer],date: Date) 
        self.name = name; self.answers = answers; self.date = date;
    

我想将TestResult 实例保存到CoreData,我创建了一个名为TestResultCoreData 的实体并添加了一个日期和一个字符串属性来存储名称和日期。

我应该如何保存Answer 数组?

【问题讨论】:

【参考方案1】:

在您的核心数据模型中,创建一个名为 Answer 的实体,并使两个实体 TestResultAnswer 之间的关系为一对多。

或者在您的数据模型中将 answers 属性声明为 Transformable 数据类型。

【讨论】:

我尝试使用可转换属性,但在尝试保存时出现线程 1 信号 SIGABRT 错误。我不知道如何处理关系,我创建了一对多的关系,但我不知道它的含义或如何使用它。能详细解释一下吗? 不是可变形的类型吗?我还研究了关系并尝试使用它们。

以上是关于Core Data 自定义结构数组的主要内容,如果未能解决你的问题,请参考以下文章

Swift:在 Core Data 中存储自定义类的数组

在 Core Data 中保存一组自定义类

数据结构学习--自定义数组

Core Data:为啥要创建自定义持久存储?

如何在 Core Data 中自定义保存?

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