我正在尝试从标有' 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 ......)"
答案 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())"