我正在尝试检索存储在UserDefaults中的词典数组,但我不知道该怎么做。
这是我到目前为止所拥有的:
let userDefaults = UserDefaults.standard
var userWorkouts: [Dictionary<String,String>] = []
userWorkouts = userDefaults.object(forKey: "SavedDict") as? [Dictionary<String,String>]
有人可以指出我正确的方向吗?
答案 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>] ?? []