Swift Code Error: Value of type String has no member Int

Swift Code Error: Value of type String has no member Int

我正在尝试在 Swift 中构建一个简单的计算器,但我不知道我是如何或为什么会收到错误 ("Value of type String has no member type Int") 或如何修复它。到目前为止,这是我的代码:

class ViewController: UIViewController {
    var isTypingNumber = false
    var firstNumber = Int!()
    var secondNumber = Int!()
    var operation = ""

@IBOutlet weak var calculatorDisplay: UILabel!


@IBAction func acButtonTapped(sender: AnyObject) {

}
@IBAction func number7Tapped(sender: AnyObject) {
    let number7 = sender.currentTitle
    if isTypingNumber{
        calculatorDisplay.text = calculatorDisplay.text! + number7!!
    }else{
        calculatorDisplay.text = number7
        isTypingNumber = true
    }
}
@IBAction func divideTapped(sender: AnyObject) {
    isTypingNumber = false

    firstNumber = calculatorDisplay.text?.Int()! **//Error: Value of type 'String' has no member 'Int'**
    operation = sender.currentTitle!!
}

@IBAction func equalsTapped(sender: AnyObject) {
    isTypingNumber = false
    var result = 0
    secondNumber = calculatorDisplay.text?.Int()! **//Error: Value of type 'String' has no member 'Int'**

    if operation == "+" {
        result = firstNumber + secondNumber
    } else if operation == "-" {
        result = firstNumber - secondNumber
    }else if operation == "X" {
        result = firstNumber * secondNumber
    }else if operation == "÷"{
        result = firstNumber / secondNumber
}
    calculatorDisplay.text = "\(result)"
}



override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    firstNumber = 0
    secondNumber = 0
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

}

我哪里错了?

而不是:

firstNumber = calculatorDisplay.text?.Int()!

你想要这样的东西:

if let text = calculatorDisplay.text? {
    firstNumber = Int(text)!
}

或者如果你想生活在边缘:

firstNumber = Int(calculatorDisplay.text!)!

String类型中没有Int()方法。

要将 Int 转换为 String,试试这个:

guard let text = calculatorDisplay.text else {
    //the CalculatorDisplay has no text, deal with it accordingly
}
guard let firstNumber = Int(text) else {
    //the CalculatorDisplay has text, but it's not a valid Int
}

//use firstNumber