This is a similar approach to [Save dictionary to UserDefaults](https://stackoverflow.com/questions/49843701/save-dictionary-to-userdefaults?noredirect=1&lq=1), however, it is intended for SwiftUI, not using a single line like set, so I want to store the value somewhere with a variable so I can call it easily. Also it's different because I'm asking for an initialization.

I have the following:

```
@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- How do I correctly store that dictionary in UserDefaults in SwiftUI?

2- That init, do I have to call it at the beginning of ContentView? Or can I leave it on the other swift file like that? Not sure how the init gets called.

I already made one with bool working:

```
@Published var startDay: Bool

init() {
    startDay = true
    if let storedDay = UserDefaults.standard.value(forKey: "startDay") {
        startDay = storedDay as! Bool
    }
}

```

but the dictionary doesn't seem to work. I need to initialize that dictionary and also store it in UserDefaults so I can access it later. Any help is appreciated.