Тело SwiftUI не переоценивается после изменения привязки - PullRequest
0 голосов
/ 02 апреля 2020

Плохой случай, когда маги SwiftUI c не работают на меня, и я теряю здесь здравомыслие. Почему текст не обновляет свое значение здесь? Почему тело не переоценивается после каждого increment() звонка?

class ReadingStateVM: ObservableObject {
    @Published var value = 0

    func increment() {
        value = value + 1
        print("value \(value)")
    }
}

struct ReadingStateView: View {
    var viewModel = ReadingStateVM()

    var body: some View {
        Text("State \(viewModel.value)")
            .onTapGesture {
                self.viewModel.increment()
        }
    }
}

1 Ответ

1 голос
/ 02 апреля 2020

Вам необходимо добавить оболочку свойства @ObservedObject, чтобы при изменении модели представления также обновлялось представление.

@ObservedObject var viewModel = ReadingStateVM()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...