2015-11-24 106 views
0

我一直無法將hoursWorked轉換爲UITextField屬性中的雙精度型我一直得到「無法用類型爲'('')的參數列表調用初始值設定項'的UITextField!)'」將UITextField字符串轉換爲UITextField中的雙精度操作

@IBOutlet weak var hoursWorked: UITextField! 

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

我試圖測試前手都在操場得到更好的理解我在做什麼錯,但我不斷收到錯誤。

回答

2

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

變化:

var hoursWorkedAmount = Double(hoursWorked) 

到:

var hoursWorkedAmount = Double(hoursWorked.text) 

更重要的是,將其更改爲:

var hoursWorkedAmount = Double(sender.text) 

這樣,你的方法作用於發送事件的實際文本字段。

注意:我在Swift中不流利。在text之後您可能需要!

+0

[UITextField的文本屬性](https://developer.apple.com/library/prerelease/tvos/documentation/UIKit/Reference/UITextField_Class/index.html#//apple_ref/occ/instp/UITextField/text)has鍵入'String?',所以除非使用可選綁定,否則確實需要'!'。 –

+0

我認爲這解決了我的問題,但它一直提到「Variable'hoursWorkedAmount'從未發生變異;考慮更改爲'let'constant」 – Mohammed

+0

然後更改變量以使用'let'。 – rmaddy

相關問題