How to save a multidimensional array to UserDefaul

2019-09-06 06:20发布

Have created an Array like this in Swift

var MyArray: [String:[String:[Int]]] = [
    "xx": ["x1": [1, 2, 3], "x2": [4, 5, 6], "x3": [7, 8, 9]],
    "yy": ["y1": [10, 11, 12], "y2": [13, 14, 15], "y3": [16, 17, 18]]


]

And I wonder how to save this to the UserDefaults

1条回答
可以哭但决不认输i
2楼-- · 2019-09-06 07:01

As @Eric mentioned in comment this is not a multidimensional array it is nested dictionary, so you can set it using set(_:forKey:) and get dictionary using dictionary(forKey:).

Save dictionary in UserDefaults

let defaults = UserDefaults.standard
defaults.set(MyDict, forKey:"DicKey")

Retrieve dictionary from UserDefaults

if let dic = UserDefaults.standard.dictionary(forKey: "DicKey") as? [String:[String:[Int]]]  {
    print(dic)
}
查看更多
登录 后发表回答