从UserDefaults检索字典数组

问题描述 投票:-2回答:1

我正在尝试检索存储在UserDefaults中的字典数组,但我无法确定如何最好地执行此操作。

这是我到目前为止:

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

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

swift dictionary nsuserdefaults
1个回答
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>] ?? []
© www.soinside.com 2019 - 2024. All rights reserved.