ViewModel:
Код: Выделить всё
enum Status {
case idle
case computing
case newResultAvailable
}
class MyViewModel: ObservableObject {
@Published var status = Status.idle
...
}
Код: Выделить всё
struct ContentView: View {
@ObservedObject var vm = MyViewModel()
@State private var announcingResult = false {
didSet {
// reset VM status when alert is dismissed
if announcingResult == false {
vm.status = .idle
}
}
}
var body: some View {
Text("Hello")
.alert(isPresented: $announcingResult) {
Alert(title: Text("There's a new result!"),
message: nil,
dismissButton: .default(Text("OK")))
}
}
}
Мой вопрос:
Как сделать так, чтобы предупреждение появлялось всякий раз, когда статус виртуальной машины становится .newResultAvailable? Мне кажется, именно так и должен функционировать MVVM, и это очень похоже на все демо SwiftUI WWDC, но я не могу найти способ…
Подробнее здесь: https://stackoverflow.com/questions/601 ... using-mvvm