从UserDefaults中检索字典数组

时间:2019-03-09 17:53:56

标签: swift dictionary nsuserdefaults

我正在尝试检索存储在UserDefaults中的词典数组,但我不知道该怎么做。

这是我到目前为止所拥有的:

let userDefaults = UserDefaults.standard
var userWorkouts: [Dictionary<String,String>] = []
userWorkouts = userDefaults.object(forKey: "SavedDict") as? [Dictionary<String,String>] 

有人可以指出我正确的方向吗?

1 个答案:

答案 0 :(得分:2)

您已将userWorkouts声明为非可选变量。但是表达式userDefaults.object(forKey: "SavedDict") as? [Dictionary<String,String>]返回一个可选数组,因此返回错误消息。

您可以将其更改为:

userWorkouts = userDefaults.object(forKey: "SavedDict") as? [Dictionary<String,String>] ?? []

或者将您的三行缩减为:

var userWorkouts = UserDefaults.standard.object(forKey: "SavedDict") as? [Dictionary<String,String>] ?? []