我正在关注斯坦福大学关于iOS 8开发的课程。我有一些关于我的代码的问题。有我的整个代码。Swift意外地发现零,同时展开一个可选值
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var display: UILabel!
var userIsEnterADigit = false
@IBAction func appendDigit(sender: UIButton) {
let digit = sender.currentTitle!
if userIsEnterADigit{
display.text = display.text! + digit
}else{
display.text = digit;
userIsEnterADigit = true
}
}
var operandStack = Array<Double>()
@IBAction func enter() {
userIsEnterADigit = false
operandStack.append(displayValue)
print("operandStack = \(operandStack)")
}
var displayValue :Double {
get{
return NSNumberFormatter().numberFromString(display.text!)!.doubleValue
}
set{
display.text = "\(newValue)"
userIsEnterADigit = false
}
}
}
我不知道为什么Xcode的点
return NSNumberFormatter().numberFromString(display.text!)!.doubleValue
具有错误:
unexpectedly found nil while unwrapping an Optional value
我请与视频代码,没有找到原因。有人能告诉我为什么吗?
并帮助我了解newValue
的display.text = "\(newValue)"
。 (为什么它会出现这样的情况?这是一种快速语法吗?)
可能重复[Swift语言中感叹号的含义是什么?](http://stackoverflow.com/questions/24018327/what-does-an-exclamation-mark-mean-in-the-迅速语言) – Moritz
看起来你应该阅读启动它https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html#//apple_ref/doc/uid/TP40014097- CH5-ID309 –