我创建了一个具有一些值的结构。我正在尝试保存到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] = [:]
}