SwiftUI ViewModel сохраняет инициализацию навсегдаIOS

Программируем под IOS
Ответить
Anonymous
 SwiftUI ViewModel сохраняет инициализацию навсегда

Сообщение Anonymous »


У меня такая структура.

импортировать SwiftUI //создаем простую модель представления класс ViewModel: NSObject, ObservableObject { @Опубликованное имя переменной: String = "World" //создаем ссылку на другую модель представления пусть другаяViewModel = ДругаяViewModel() переопределить инициализацию() { супер.инит() печать("инит") Settings.shared.test = "2" } } //создаем еще одну модель представления класс AnotherViewModel: ObservableObject { @Опубликованное имя переменной: String = "World" в этом(){ print("еще одна инициализация") Settings.shared.test = "3" } } //создаем синглтон с логическим значением Настройки класса: ObservableObject { статический пусть общий = Настройки() @Published var isShow: Bool = false @Published var test = "1" } структура FatherView: Посмотреть { @StateObject var settings = Settings.shared//если я удалю эту строку, все будет нормально. var body:some View{ КонтентПросмотр() } } структура ContentView: Просмотр { //@StateObject var settingsHolder = Settings.shared Модель @StateObject var: ViewModel @StateObject var model1: AnotherViewModel в этом() { пусть модель = ViewModel() _model = StateObject (wrappedValue: модель) _model1 = StateObject(wrappedValue: model.anotherViewModel) } var body: some View { ВСтек { Текст («Привет») } } } Как только я изменю значение параметров настроек, модель с двумя представлениями будет повторять инициализацию вечно, и, похоже, это происходит только тогда, когда я помещаю ContentView в FatherView и объявляю @StateObject настроек в
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»