如何检查按钮文本是否包含数组元素?

时间:2016-12-22 22:41:38

标签: ios arrays swift button

我对此很新,所以请耐心等待。我要做的是检查按钮当前是否显示数组中的元素;数组答案。这样做的最佳途径是什么?

@IBAction func qButton1(_ sender: Any) {
    if (sender as AnyObject).currentTitle == (Answer in Answers){
        PickQuestion()

    }
    else{
        missedWords.append(quizLabel.text!)

    }
}

2 个答案:

答案 0 :(得分:1)

不确定为什么将Any传递给发件人,然后转发给AnyObject。无论如何,我会在你的情况下使用过滤器: 假设您有一个名为答案的答案对象数组,答案有一个属性标题

<product>

答案 1 :(得分:0)

您不应使用按钮的标题来存储数据并将其与值进行比较。

每当你编写代码时,逻辑依赖于显示给用户的文本,你就会在本地化方面陷入困境。

使用数字标签索引字符串数组会更好。

假设你创建一个标题字符串数组。

使每个按钮的标签为100 +数组索引。

let startingTag = 100

@IBAction func qButton1(_ sender: UIButton) {
    guard let index = sender.tag where startingTag >= 100 else {
      return
    }
    //fetch your string from the array of button title strings you set up.
    let stringToFind = strings[index]
    if answers.contains(where: {$0 == stringToFind}) {
      //Found the current' buttons' string in answers
    } else {
      //string not found
    }

}