Если все виды обращаются к одной и той же модели в приложении, я думаю, что достаточно шаблона Singleton. Я прав?
Например, если MainView и ChildView обращаются к одной и той же модели (например, AppSetting), как показано ниже, я не могу найти никакой причины использовать EnvironmentObject вместо шаблона Singleton. Есть ли проблемы, если я использую это так? Если все в порядке, то когда мне следует использовать EnvironmentObject вместо шаблона Singleton?
class AppSetting: ObservableObject {
static let shared = AppSetting()
private init() {}
@Published var userName: String = "StackOverflow"
}
struct MainView: View {
@ObservedObject private var appSetting = AppSetting.shared
var body: some View {
Text(appSetting.userName)
}
}
struct ChildView: View {
@ObservedObject private var appSetting = AppSetting.shared
var body: some View {
Text(appSetting.userName)
}
}
Спасибо за авансовый.