运算符 '!=' 的使用不明确?

Ambiguous use of operator '!='?

我正在尝试创建一个 if else 语句。如果 randomNumber 等于标签的文本,那么我想将 1 添加到 CorrectLabel。如果它们彼此不相等,我想在 IncorrectLabel 中加 1。这是我的代码:

@IBAction func checkButton(sender: UIButton) {

    if ( "\(randomImageGeneratorNumber)" == "\(currentCountLabel.text)"){
        currectAmountCorrect += 1
        CorrectLabel.text = "\(currectAmountCorrect)"

    }else if ("\(randomImageGeneratorNumber)" != "\(currentCountLabel.text)"){
        currentAmountIncorrect += 1
        IncorrectLabel.text = "\(currentAmountIncorrect)"
    }
}

我在 "else if" 语句行上收到一个错误 "Ambiguous use of operator '!=' "。我不确定此错误的含义或修复方法。

这个错误是什么意思,如何解决?

你不应该那样比较。只需使用 .toInt() 将 labeltext 转换为 int 并像这样进行比较:

var currentCount = currentCountLabel.text?.toInt()
if randomImageGeneratorNumber == currentCount {
    currectAmountCorrect += 1
    CorrectLabel.text = "\(currectAmountCorrect)"

} else {
    currentAmountIncorrect += 1
    IncorrectLabel.text = "\(currentAmountIncorrect)"
}

没有必要把你的价值变成“”。

首先,你不需要进行两次比较。你的代码看起来像

if true {
...
} else if false {
...
}

而且,是的,int 比较会更好:

if let textAmount = currentCountLabel.text where randomImageGeneratorNumber == textAmount.toInt() {
    currectAmountCorrect += 1
    CorrectLabel.text = "\(currectAmountCorrect)"
} else {
    currentAmountIncorrect += 1
    IncorrectLabel.text = "\(currentAmountIncorrect)"
}