Я пытаюсь сохранить словарь словарей в UserDefaults.
Я могу сохранить словарь следующим образом:
var dict = [Int:[Int:Int]]()
dict[1] = [4:3]
dict[10] = [5:10]
let data = try
NSKeyedArchiver.archivedData(withRootObject: dict, requiringSecureCoding: false)
UserDefaults.standard.set(data, forKey: "dict")
Но когда я пытаюсь получить его:
if let data2 = defaults.object(forKey: "dict") as? NSData {
let dict = NSKeyedUnarchiver.unarchivedObject(ofClasses: [Int:[Int:Int]], from: data2)
print(dict)
}
Я получаю ошибку: Невозможно преобразовать значениетип '[Int: [Int: Int]]. Type' для ожидаемого типа аргумента '[AnyClass]' (он же 'Array')
Есть ли способ сохранить [Int: [Int: Int]]] Словарь в UserDefaults?Или я должен использовать другой подход?