У меня есть словарь, созданный для чтения в JSON данных, и я использую эти имена переменных для заполнения других представлений.
ТАК У меня есть var charFullDetail: charDetail
Это возвращает число переменные, но меня интересуют следующие: charFullDetail.cardFrontImage charFullDetail.cardBackImage
Они содержат строки, которые соответствуют изображению, сохраненному в каталоге активов.
My View затем использует эти переменные для отобразите изображение
Image(charFullDetail.cardFrontImage)
Это прекрасно работает.
Что я хочу сделать, это превратить изображение выше в нечто динамическое c, чтобы либо она нажата, либо нажата кнопка, и изображение отображает противоположное.
Поэтому, если отображается .cardFrontImage, и я нажимаю на изображение, я хочу, чтобы оно заменило изображение на Image(charFullDetail.cardBackImage
Я не могу заставить работать код, который делает это - я думал создать переменную @State и использовать ее в Image (), чтобы при изменении этой переменной Image () обновлялся.
Но если я сделаю @State var card = "charFullDetail.cardFrontImage"
, а затем попытаюсь использовать Image(card)
Это не удастся, так как не может найти картинку, так как она использует буквальную строку как строку, а чем ссылаться на значение этой переменной - если это имеет смысл.
В основном, как я могу заменить использование ссылки charFullDetail.cardFrontImage на переменную с сохранением состояния, но заставить его по-прежнему ссылаться на значение и не видеть его как String "charFullDetail.cardFrontImage"?