错误表达式类型“ @lvalue字符串?”没有更多的上下文是模棱两可的

时间:2019-03-22 15:42:04

标签: ios swift xcode

我经常遇到错误,即使我尝试投射输入文本字段,错误也不会消失。这是我的代码:

@IBOutlet weak var fingerNumbersInputField: UITextField!
@IBAction func guessButton(_ sender: Any) {
    let randomFingers = arc4random_uniform(6)
    if randomFingers == Int(fingerNumbersInputField.text!) {

    }
}
@IBOutlet weak var resultField: UILabel!

这是我在Xcode中遇到的错误:

Screenshot of the Error in Xcode CLICK HERE

  

表达式类型'@lvalue String?'没有更多上下文就变得模棱两可

此代码有什么问题?请帮忙。 谢谢。

2 个答案:

答案 0 :(得分:0)

您需要

if randomFingers == Int(fingerNumbersInputField.text!)! {

}

或省钱

if let value = Int(fingerNumbersInputField.text!) , value == randomFingers {
      /////   
}

答案 1 :(得分:0)

arc4random_uniform(6)返回UInt32,随后您尝试比较UInt32Int?,这对于编译器来说实在太多了。
如果您使用类似Int.random(0..<6)这样的现代随机API,一切都应该没问题

let randomFingers = Int.random(in: 0..<6)
if randomFingers == Int(fingerNumbersInputField.text!) { }