首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果UIButton的值相同,如何在数组中找到它们的索引?

如果UIButton的值相同,如何在数组中找到它们的索引?
EN

Stack Overflow用户
提问于 2022-08-15 07:24:27
回答 1查看 39关注 0票数 0

对不起,如果标题没有很好地描述这个问题,我有4个字母为"g“、"o”、"o“、"d”的按钮,这是一个关于玩家是否能猜出单词的游戏,在这种情况下,这个词是:“很好”。

我有一个提示按钮这样做:*给一个字母从四个*隐藏按钮与给定的字母,它工作得很好

但问题是:“好”一词有两个"o“字母,所以提示按钮现在很好地删除了两个字母"O”的按钮。

以下是我迄今所做的工作:

代码语言:javascript
复制
//  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
        }
    }
}

下面是一个更明确的建议:

我试着用按钮标签而不是标题来做这件事,但最后我还是去了同样的结果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-15 07:48:50

您可以使用first(where:) (文档化的这里函数)查找第一个带有title的按钮,该按钮与您要查找的内容和isHidden == false位置相匹配。

因此,一些类似于:

代码语言:javascript
复制
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
}

注意:我还没有在编译器中检查过上面的内容,所以可能会出现语法错误,我确信编译器会以友好的方式通知您。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73357941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档