Я определил следующий словарь:
class TimeToEatTrackerViewModel: ObservableObject {
@Published var mealAndStatus: [String: String] =
UserDefaults.standard.dictionary(forKey: "mealAndStatus") as? [String: String] ?? ["Breakfast": "initial", "Snack": "notSet", "Lunch": "notSet", "Snack2": "notSet", "Dinner": "notSet"] {
didSet {
UserDefaults.standard.set(self.mealAndStatus, forKey: "mealAndStatus")
}
}
}
, и я вызываю его в представлении:
struct ContentView: View {
@ObservedObject var eatTracker = TimeToEatTrackerViewModel()
var body: some View {
VStack {
Button(action: {
self.eatTracker.mealAndStatus["Breakfast"] = "done"
}){
Text(String(self.eatTracker.mealAndStatus["Breakfast"]!))
}
}
}
}
Хотя выполнение происходит, как ожидается, значения не отображаются сохраняются. Когда я закрываю приложение и возвращаюсь, новых значений там нет, почему?
Спасибо