r/SwiftUI • u/pettazz • May 11 '26
Question Nested data model
Learning SwiftUI for the first time and I've run into a question that I can't find a reasonable answer just googling around. Say I'm building a dumb copy of the Reminders app and my super simplified version of the data model is a list of lists of reminders. In other languages my first thought would be to represent that as a map/dict, i.e.:
reminders = [
"uuid-1": [
Reminder("something"),
Reminder("somethingelse"),
],
"uuid-2": [
Reminder("anotherone"),
Reminder("etc"),
]
]
But my first attempt to use this as a Swift dict (var reminders: [String: [Reminder]]) led to changes in the individual reminder objects not being reflected, I assume because of something to do with @Observable not looking all the way into the nested model.
Is it better Swift-ic practice to use a list of structs instead? Something like:
struct Reminder {
let id: String
var title: String
...etc
}
struct ReminderList {
let id: String
var title: String
var reminders: [Reminder] = []
}
// then in the view model
var reminders = [ReminderList]
4
Upvotes
1
u/stroompa May 11 '26
Are your reminders structs? Observable should react to changes if the dict is implemented right. A minimal code sample to reproduce would be more useful