Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/102.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS-在CoreData中保存结构的数组_Ios_Core Data_Struct - Fatal编程技术网

iOS-在CoreData中保存结构的数组

iOS-在CoreData中保存结构的数组,ios,core-data,struct,Ios,Core Data,Struct,我有一个这样的结构:      struct list {                   var userId: Int = 0          var id: Int = 0          var title: String = ""          var body: String = "" } 在程序的另一部分中,我声明了一个struct数组,并通过从internet下载的JSON文件输入信息 var array = [list]() 现在我的问题是在CoreData中

我有一个这样的结构:

     struct list
{
        
         var userId: Int = 0
         var id: Int = 0
         var title: String = ""
         var body: String = ""

}
在程序的另一部分中,我声明了一个struct数组,并通过从internet下载的JSON文件输入信息

var array = [list]()

现在我的问题是在CoreData中保存和重现这个结构数组。我不知道如何继续,你能帮我一下吗?

我想你最好的选择是使用二进制数据类型

1.在结构模型上创建
toDictionary()
方法:

func toDictionary() -> [String: Any] {
    return ["userId: self.userId, "id": self.id, ...]
}
2.然后在核心数据模型上添加NSData属性,该属性表示结构列表:

@NSManaged var list:NSData?

3.使用类帮助器访问该列表属性:

func listDictionary() -> [String: Any]? {
    guard let listData = self.list as? Data else { return nil }
    let dict = NSKeyedUnarchiver.unarchiveObject(with: listData) as? [String: Any]
    return dict
}

4.在列表对象上创建一个
fromDictionary()->list
,它将根据dictionary构建一个模型

您的CoreData模型是什么?。检查这个