В настоящее время у меня есть список, который принимает json данные из удаленно сохраненного файла в Интернете. Я создал переменную «hwcolor», в которой храню переменную цвета. Я планирую изменить значение, если будет прочитано определенное значение из файла json.
var hwcolor: Color = Color.white
Вот моя цветовая переменная.
List(fetcher.hws) { hw in
if hw.subject == "H2 Physics" {
self.hwcolor = Color.blue
}
else {
self.hwcolor = Color.white
}
Данные файла json правильно загружаются в список и все на месте. Однако я не могу изменить значение цвета в соответствии со считанным значением. Я получаю сообщение об ошибке «Невозможно присвоить свойству:« self »является неизменяемым» из Xcode при каждой попытке запустить код. Как я должен изменить свой код, чтобы позволить переменной цвета мутировать?
HStack {
VStack (alignment: .leading) {
Text(hw.title)
.foregroundColor(self.hwcolor)
Text(hw.info)
.font(.system(size: 14))
.foregroundColor(Color.gray)
Text(hw.duedate)
.font(.system(size: 11))
.foregroundColor(Color.gray)
}
Spacer()
Text(hw.subject)
.padding()
}
}
}
Вот код, который иллюстрирует то, что я планирую иметь в каждой ячейке списка.