在 UITextField 操作中将 UITextField 字符串转换为 Double

Converting a UITextField String to a Double inside a UITextField Action

我无法将 hoursWorked 转换为 UITextField 中的双精度数 属性 我不断收到 "Cannot invoke initializer for type 'Double' with an argument list of type '(UITextField!)'"

  @IBOutlet weak var hoursWorked: UITextField!

   @IBAction func onEditingChange(sender: UITextField) {
        var hoursWorkedAmount = Double(hoursWorked)
        var salary = hoursWorkedAmount! * 25
        print(salary)
    }

我已经尝试在操场上测试所有内容,以便更好地了解我做错了什么,但我不断收到错误。

您需要获取文本字段的文本,而不是文本字段本身。

变化:

var hoursWorkedAmount = Double(hoursWorked)

至:

var hoursWorkedAmount = Double(hoursWorked.text)

更好的是,将其更改为:

var hoursWorkedAmount = Double(sender.text)

这样您的方法就会作用于发送事件的实际文本字段。

注意:我不流利 Swift。在 text.

之后可能需要一个 !