Swift Error:找不到类型' Double'的初始值设定项。接受类型'(字符串)'的参数列表

时间:2015-11-17 20:50:24

标签: xcode swift compiler-errors syntax-error

我正在尝试从标有' temperatureTextField'的文本字段中抓取数据。并将其分配给'#这是一个双人间。理想情况下,用户应向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())
}

红色感叹号来自线路"让t = Double(temperatureTex ......)"

2 个答案:

答案 0 :(得分:3)

你可能正在使用Xcode 6,所以Swift 1.2,但Double的String初始化程序仅在Swift 2(Xcode 7)中可用。

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

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

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

答案 1 :(得分:2)

正如Eric建议的那样,我遇到了这个问题因为我正在运行一个过时的xcode版本。 以下是我的代码之后看起来喜欢的内容,以防万一遇到麻烦且无法更新:

let t = (inputText.text! as NSString).doubleValue
let tempModel = TemperatureModel(temp: t)
inputText.text = "\(tempModel.toCelsius())"