我正在尝试从标有'temperatureTextField'的文本字段中获取数据,并将其分配给作为Double的't'。理想情况下,用户应将一个数字值添加到temperatureTextField。

这是我的方法:

@IBOutlet weak var temperatureTextField: UITextField!

@IBAction func convert(sender: AnyObject) {
    let t = Double(temperatureTextField.text!)
    let tempM = TemperatureModel(temp: t!)
    temperatureTextField.text = String(tempM.toCelsius())
}

红色惊叹号来自“let t = Double(temperatureTex ...)”行

最佳答案

您可能正在使用Xcode 6,因此使用的是Swift 1.2,但是Double的String初始值设定项仅在Swift 2(Xcode 7)中可用。

您可以始终使用NSString的doubleValue属性:

let t = (temperatureTextField.text! as NSString).doubleValue

但我建议尽快使用Xcode 7和Swift 2。

10-04 10:19