SwiftUI @State не обновляется - PullRequest
0 голосов
/ 27 мая 2020

Итак, я хорошо знаком с UIKit, но только недавно начал работать со SwiftUI. У меня очень базовое c представление, исходящее от NavigationLink, и я не могу понять, почему этот код не работает. Я не могу обновить эту @State var`, я перепробовал все, о чем вы не могли придумать. Я что-то здесь делаю не так? Спасибо!

struct Test: View {
    @State private var settingsEnabled: Bool = false {
        didSet {
            print(oldValue)
            print("DID SET")
            print(settingsEnabled)
        }
    }

    var body: some View {
        Button(action: {
            self.settingsEnabled.toggle()
        }) {
            Text(String("\(self.settingsEnabled)"))
        }
    }
}

1 Ответ

0 голосов
/ 27 мая 2020

Кажется, вам не хватает соответствия View.

struct Test: View {
...
}

Обновление: похоже, это произошло, потому что вы использовали body из Test struct напрямую вместо Test структура, соответствующая протоколу View, который, в свою очередь, содержит переменную settingsEnabled @State.

...