Я работаю с новым макросом @ObServable в Swiftui (iOS 17+). В некоторых представлениях моя модель просмотра работает отлично, не завершая ее в @state. Но в других представлениях я должен обернуть его в @state или обновления не распространяются правильно (например, оповещения не отображаются, пользовательский интерфейс не освежает и т. Д.).struct AddProductView: View {
private var vm = AddProductVM()
var body: some View {
@Bindable var dVM = vm
VStack {
if dVM.shouldShowAlert {
Text("Alert triggered")
}
}
.onChange(of: dVM.someTrigger) {
dVM.shouldShowAlert = true
}
}
}
< /code>
Это работает нормально. При изменении когда -то обновляется должен обновляться, и пользовательский интерфейс отражает его.struct ProductDetailsView: View {
@State private var vm = ProductDetailsVM() //
Без @state пользовательский интерфейс либо не обновляется, либо сбрасывает, особенно после .onapear или .task. модель представления?
Подробнее здесь: https://stackoverflow.com/questions/796 ... in-swiftui