模糊地使用运算符'!='?

时间:2015-03-08 20:50:23

标签: function swift if-statement uibutton ibaction

我正在尝试创建一个if else语句。如果randomNumber等于标签的文本,那么我想向CorrectLabel添加1。如果它们彼此不相等,那么我想要向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)"
    }
}

我在"我得到一个错误,如果"声明行说"操作员的模糊使用'!=' &#34 ;.我不确定这个错误意味着什么或如何解决它。

此错误意味着什么以及如何解决?

2 个答案:

答案 0 :(得分:1)

你不应该那样比较。只需使用.toInt()将labeltext强制转换为int并将其比较为:

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

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

没有必要将您的价值放入“”。

答案 1 :(得分:0)

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

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)"
}