текстовое поле не обновляется в моем первом проекте на xcode 11.1 - PullRequest
0 голосов
/ 08 ноября 2019

мне нужна помощь. я попробовал свое первое приложение в Xcode 11 с swiftUI (я использовал Xcode раньше), но текст не обновляется в текстовом поле. как я могу заставить это работать? мой код:

import SwiftUI
var x = 1
struct ContentView: View {
    var body: some View {
      VStack {
      Button(action: {
        x = 2
        self.body
      }) {
      Text("increase")
      }
    Text("\(x)")
      }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

1 Ответ

1 голос
/ 08 ноября 2019

Вам нужно @State, чтобы пользовательский интерфейс обновлялся на основе переменной x

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

struct ContentView: View {
    @State private var x = 1

    var body: some View {
        VStack {
            Button(action: {
                self.x = 2
            }) {
                Text("increase")
            }
            Text("\(x)")
        }
    }
}
...