我正在尝试检索存储在UserDefaults中的字典数组,但我无法确定如何最好地执行此操作。
这是我到目前为止:
let userDefaults = UserDefaults.standard
var userWorkouts: [Dictionary<String,String>] = []
userWorkouts = userDefaults.object(forKey: "SavedDict") as? [Dictionary<String,String>]
有人能指出我正确的方向吗?
您已将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>] ?? []