运算符 '!=' 的使用不明确?
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)"
}
我正在尝试创建一个 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)"
}