我正在编写一个体重指数计算器
@IBOutlet var height: UITextField!
@IBOutlet var weight: UITextField!
@IBOutlet var message: UILabel!
@IBAction func keyPressed(sender: AnyObject) {
var peso = Double(weight.text.toInt()!)
var altura = Double(height.text.toInt()!) //ERROR LINE
var alturaquad = Double(peso) * Double(peso) //EXPONENTIAL
var imc = altura / alturaquad
message.text = "Your BMI is \(imc)"
}我得到了以下错误,但我还不明白:
fatal error: unexpectedly found nil while unwrapping an Optional value我的第二个问题是关于指数函数。是豆瓣吗?
发布于 2014-10-28 20:22:56
toInt()方法String返回一个可选整数,即如果字符串到int的转换成功,则返回有效整数;如果转换失败,则返回nil。
在此:
height.text.toInt()!您正在使用强制展开运算符,它从可选变量中解锁整数,假设它不是零-如果可选值实际上是nil,则会出现错误。
选项、强制展开和像您这样的错误都是堆栈溢出的反复问题。我建议你仔细阅读选项。这在概念上很简单,但也有很多令人头疼的地方--对于任何一个快速开发人员来说,全面了解它们的工作方式是必不可少的。提示:使用可选绑定解决问题。
至于你的第二个问题,关于pow:你试过吗?创建一个操场并测试它--如果它不起作用,就问一个新的问题。
https://stackoverflow.com/questions/26617589
复制相似问题