有没有办法获取UIImage文件名?

时间:2019-02-24 07:39:20

标签: ios swift

我正在尝试制作套装!我需要从UI中选择3张牌并进行比较(我正在比较图像的名称)的游戏,例如:

UIButton 1,带图片名称:“ 1123”

UIButton 2,带有图片名称:“ 1223”

UIButton 3,带有图片名称:“ 1133”

使用此功能:

func checkingIfMatch(cardOne : String, cardTwo : String, cardThree : String) -> Bool {
        let first = cardOne.compactMap{Int(String($0))} //making an array from the UIImage file name
        let second = cardTwo.compactMap{Int(String($0))}
        let third = cardThree.compactMap{Int(String($0))}
    if (first[0] == second[0] && second[0] == third[0]) || (first[0] != second[0] && second[0] != third[0]) {
        if (first[1] == second[1] && second[1] == third[1]) || (first[1] != second[1] && second[1] != third[1]) {
            if (first[2] == second[2] && second[2] == third[2]) || (first[2] != second[2] && second[2] != third[2]) {
                if (first[3] == second[3] && second[3] == third[3]) || (first[3] != second[3] && second[3] != third[3]) {
                    print("match!")
                    return true
                }
            }
        }
    }
    print("no match!")
    return false
}

}

我试图在点击按钮时获取UIButton图像的名称,但是似乎无法找到一种方法。 任何帮助将不胜感激,如果没有办法,希望听到不同的想法。

1 个答案:

答案 0 :(得分:0)

我不知道您要达到什么目的,但是您可以使用tag来获取所点击的按钮。

故事板中,将三个按钮连接到类型为@IBAction的{​​{1}}的同一个sender上,然后只需在标签周围加上大小写即可知道哪个按钮用户点击。

UIButton

只需将按钮拖动到功能上, 别忘了给他们加上标签。

@IBAction func tappedButton(_ sender:  UIButton) {
    switch sender.tag {
        case 0: // image One
        case 1: // image Two
        case 2: // image Three
        default: // default condition where there is no matching cases
    }
}

或直接从IB。