我有一个这样的结构:
struct list
{
var userId: Int = 0
var id: Int = 0
var title: String = ""
var body: String = ""
}
在我的程序的另一部分,我声明了一个结构数组,并通过从互联网下载的 JSON 文件输入信息。
var array = [list]()
现在我的问题是在 CoreData 中保存和恢复这个结构数组。我不知道如何前进,你能帮我一把吗?
最佳答案
我认为您最好的选择是使用二进制数据类型。
1.在您的结构模型上创建一个toDictionary()
方法:
func toDictionary() -> [String: Any] {
return ["userId: self.userId, "id": self.id, ...]
}
2.然后在你的核心数据模型上添加一个 NSData 属性,它代表你的结构列表:
@NSManaged 变量列表: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
,它将根据字典构建一个模型
关于iOS - 在 CoreData 中保存结构数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43159050/