对不起,如果标题没有很好地描述这个问题,我有4个字母为"g“、"o”、"o“、"d”的按钮,这是一个关于玩家是否能猜出单词的游戏,在这种情况下,这个词是:“很好”。
我有一个提示按钮这样做:*给一个字母从四个*隐藏按钮与给定的字母,它工作得很好
但问题是:“好”一词有两个"o“字母,所以提示按钮现在很好地删除了两个字母"O”的按钮。
以下是我迄今所做的工作:
// this method will add a letter from the right word "qlap" to the answer textfield and it work perfectly :
let text_ans = ans.text?.count
ans.text! += qlab![text_ans!+0]
// the four letters
let buttin = [Letter1,Letter2,Letter3,Letter4]
// check if hint letter above == button title letter
for title in buttin {
if qlab![text_ans!+0] == title!.title(for: .normal) {
let tag = title!.tag
if title?.tag == tag {
// how can i just hide for once if there is a duplicate
title?.isHidden = true
}
}
}下面是一个更明确的建议:

我试着用按钮标签而不是标题来做这件事,但最后我还是去了同样的结果。
发布于 2022-08-15 07:48:50
您可以使用first(where:) (文档化的这里函数)查找第一个带有title的按钮,该按钮与您要查找的内容和isHidden == false位置相匹配。
因此,一些类似于:
if let hintButton = buttin.first(where: { $0.title(for: .normal) == qlab![text_ans!+0] && !$0.isHidden }) {
// now you have the first - not hidden - button matching what you are looking for, time to hide it
hintButton.isHidden = true
}注意:我还没有在编译器中检查过上面的内容,所以可能会出现语法错误,我确信编译器会以友好的方式通知您。
https://stackoverflow.com/questions/73357941
复制相似问题