我正在尝试制作套装!我需要从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
图像的名称,但是似乎无法找到一种方法。
任何帮助将不胜感激,如果没有办法,希望听到不同的想法。
答案 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。