保存具有字典的结构

时间:2018-10-08 23:52:16

标签: swift dictionary codable

我创建了一个具有一些值的结构。我正在尝试保存到UserDefaults。那没有用,因为我一直收到SIGBRT错误。我做了一些研究,我意识到我必须遵守Codable协议,因为它可以直接保存为用户默认值(即使使用NSArchiver-也无法完成工作)。

我学习了这种新方法(Codable),直到我在结构中添加了字典之后,一切都可以正常工作。每次添加字典(我需要使用很多字典)[Int: String][Int:UIImage][Int:[String]][Int:[UIIMage]]。每当我将这些词典中的任何一个添加到我的结构中时,都会收到一条错误消息,指出我的结构不符合协议Codable。如果删除字典变量,一切正常。

任何帮助都会很棒。我做了很多研究,人们谈论的是JSON,不确定是什么,完全不使用Web,所有东西都在我的应用程序中本地化。

struct Student: Codable {
    var name: String
    var dictOne: [Int:String] = [:]
    var dictTwo: [Int:[String]] = [:]
    var dictThree: [Int:UIImage] = [:]
}

0 个答案:

没有答案