我对此很新,所以请耐心等待。我要做的是检查按钮当前是否显示数组中的元素;数组答案。这样做的最佳途径是什么?
@IBAction func qButton1(_ sender: Any) {
if (sender as AnyObject).currentTitle == (Answer in Answers){
PickQuestion()
}
else{
missedWords.append(quizLabel.text!)
}
}
答案 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
}
}