Я хочу увеличить переменную при действии кнопки и показать значение в тексте. Я могу сделать это с переменной @State var i: Int = 0
. Но я хочу обновить значение из другого файла класса или swift. Таким образом, этот файл не может получить доступ к этой переменной, если он не является stati c. Но State не может быть stati c, так как он не может скомпилироваться с ошибкой segmentation fault
при сборке.
Поэтому я подумал о том, чтобы сделать его простой переменной. Затем обновление из этого класса, а затем присвоение его переменной @State. Но этого не происходит, потому что для обновления переменной я использую другую функцию stati c в структуре SwiftUIView. Я могу обновить переменную stati c, но не могу обновить представление.
Вот код для UIVIew:
struct ContentView: View {
//private var Arr = [String]()
@State static var x: Int = 0 //Causes segmentation fault, Removing static runs but can't access var x
static var testVar: Int = 0
var body: some View {
VStack{
Text("Hello, Time: \(ContentView.testVar)")
Button(action: {
_ = timer().testMe() // calling other class method, is this Okay?
}) {
Text("Button")
}
}
}
static func bigGuy(){
testVar += 1
print("Hello You clicked this time: \(testVar)") // Without next line it can run and print with no issue.
self.x = testVar // Don't want to use this, But how do I update View ?
}
Так как мне обновить это простое представление?