【发布时间】:2020-04-26 02:49:14
【问题描述】:
这是与Save dictionary to UserDefaults 类似的方法,但是,它适用于 SwiftUI,而不是像 set 那样使用单行,所以我想用变量将值存储在某个地方,以便我可以轻松调用它。也不同,因为我要求初始化。
我有以下几点:
@Published var mealAndStatus: Dictionary
init() {
mealAndStatus = ["Breakfast": "initial", "Snack": "notSet", "Lunch": "notSet", "Snack2": "notSet", "Dinner": "notSet"]
if let storedDay = UserDefaults.standard.value(forKey: "mealAndStatus") {
mealAndStatus = storedDay as! Dictionary
}
}
1- 如何在 SwiftUI 的 UserDefaults 中正确存储该字典?
2-那个init,我必须在ContentView的开头调用它吗?或者我可以把它放在另一个 swift 文件上吗?不确定如何调用 init。
我已经用布尔工作做了一个:
@Published var startDay: Bool
init() {
startDay = true
if let storedDay = UserDefaults.standard.value(forKey: "startDay") {
startDay = storedDay as! Bool
}
}
但字典似乎不起作用。我需要初始化该字典并将其存储在 UserDefaults 中,以便以后可以访问它。任何帮助表示赞赏。
【问题讨论】:
-
@HalR 让我看看我能不能让它工作,谢谢
-
@HalR 不,我仍然无法转换功能,我该怎么做?
-
这不是解决办法,反正我已经找到了,谢谢
-
怎么不是?什么是?
标签: swiftui