There are a number of ways you can handle large apps with multiple dependencies like this! SwiftUI is architecture agnostic, meaning there are many reasonable ways to model your data. A good place to start is likely putting them in the environment as you've seen other apps do with a single large model, and just keeping them separated! There's nothing bad about having multiple observables that you inject into the environment make up part of your data model. If anything, it may help you design your views such that they only declare dependencies they need to have. Doing this will also handle the other problem you mentioned, that not all of these models will be created initially. For example, say UsersModel only populates after login. You could imagine the view which injects that into the environment would be lower down the view hierarchy, and could look something like: struct LoginView: View { @Environment(.authModel) var authModel @State var usersModel: UsersModel = nil var body: some View { Button(Log
Topic:
SwiftUI
SubTopic:
SwiftUI Q&A