Изменение переменной @State не обновляет представление в SwiftUIIOS

Программируем под IOS
Anonymous
Изменение переменной @State не обновляет представление в SwiftUI

Сообщение Anonymous »

У меня следующее мнение (ненужные части удалены):

Код: Выделить всё

struct Chart : View {
var xValues: [String]
var yValues: [Double]
@State private var showXValues: Bool = false

var body = some View {
...
if showXValues {
...
} else {
...
}
...
}
}
затем мне захотелось добавить способ изменения этого значения извне, поэтому я добавил функцию:

Код: Выделить всё

func showXValues(show: Bool) -> Chart {
self.showXValues = show
return self
}
поэтому я создаю представление диаграммы снаружи следующим образом:

Код: Выделить всё

Chart(xValues: ["a", "b", "c"], yValues: [1, 2, 3])
.showXValues(true)
но это работает так, как если бы значение все еще было ложным. Что я делаю не так? Я думал, что обновление переменной @State должно обновить представление. В целом я новичок в Swift, тем более в SwiftUI. Может быть, мне не хватает какой-то специальной техники, которую следует здесь использовать?

Подробнее здесь: https://stackoverflow.com/questions/593 ... in-swiftui

Вернуться в «IOS»