Я написал небольшую программу в этой сущности https://gist.github.com/alfonsodev/411622f65727bd5f44eff13f6e7e0a9b
Нажав кнопки, вы можете правильно изменить значение playlistIndex
, и пользовательский интерфейс обновится.
Напротив, l oop, который печатает каждый элемент списка воспроизведения, не обновляет, какой из них выбран, и использует ту же самую переменную playlistIndex
ForEach(0..<playlist.count) {
if $0 == self.playlistIndex {
Text("? \(playlist[$0].title)")
} else {
Text(playlist[$0].title)
}
}
I ожидал, что ForEach будет запускаться каждый раз при изменении @State, похоже, что он запускается в первый раз и содержит первое значение playlistIndex
.
У меня вопрос, как мне печатать зависимые от @State циклы?