SWIFT(5.0 或更高版本) & Xcode(12.5) :从元组中检索图像以用作按钮背景

SWIFT(5.0 or Later) & Xcode(12.5) : Retrieving an Image from a tuple to serve as a button background

我的目标:

创建具有关联值的图像实例以用作纸牌游戏中的纸牌。

图像像这样加载到我的 ContentView.swift class:

let cardM1:Image = Image("Card_Minus_I")
let cardM2:Image = Image("Card_Minus_II")
let cardM3:Image = Image("Card_Minus_III")
let cardM4:Image = Image("Card_Minus_IV")
let cardM5:Image = Image("Card_Minus_V")
let cardM6:Image = Image("Card_Minus_VI")

下一步是将图像和值插入到元组中:

var tupleDeck = [-1:cardM1,-2:cardM2,-3:cardM3,-4:cardM4,-5:cardM5,-6:cardM6]

现在,我想更改 Button 的背景:

/*
 PlayerHandButton struct is in charge of providing
 stylizing that could be applied to any button
 that represents a card in a player's hand.
 */
struct PlayerHandButton: ButtonStyle  {
    func makeBody(configuration: Configuration) -> some View {
        configuration.label
            
            .background(Image("cardSpot"))

.background(tupleDeck.index(forKey: -1))

但是,我得到一个错误:

在'Optional'上引用实例方法'background(_:alignment:)'要求'Dictionary<Int, Image>.Index'符合'View'

    }   // End of makeBody func
}   // End of struct GameboardButton

阅读关于 Swift 元组的文章并使用 google 搜索是无果而终的努力。

感谢您的宝贵时间!

图片显示了图像作为按钮背景的预期结果。

为了解决这个问题,我不得不在声明期间使用元组变量的名称:

var tupleCardP1 = (Value: 1, Image: cardP1)

更改按钮背景调用成功:

        .background(tupleCardP1.Image)

结果: