从 UserDefaults 中检索字典数组
Retrieving an array of dictionaries from UserDefaults
我正在尝试检索存储在 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>]
returns 是一个可选数组,因此出现错误消息。
您可以将其更改为:
userWorkouts = userDefaults.object(forKey: "SavedDict") as? [Dictionary<String,String>] ?? []
或者将你的三行代码减少为:
var userWorkouts = UserDefaults.standard.object(forKey: "SavedDict") as? [Dictionary<String,String>] ?? []
我正在尝试检索存储在 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>]
returns 是一个可选数组,因此出现错误消息。
您可以将其更改为:
userWorkouts = userDefaults.object(forKey: "SavedDict") as? [Dictionary<String,String>] ?? []
或者将你的三行代码减少为:
var userWorkouts = UserDefaults.standard.object(forKey: "SavedDict") as? [Dictionary<String,String>] ?? []