我正在关注有关iOS 8开发的斯坦福大学课程。我对我的代码有一些疑问。有我的整个代码。
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
有错误:
在解包可选值时意外发现nil
我用视频检查代码,但没有找到原因。有人可以告诉我为什么吗?
帮助我理解newValue
中的display.text = "\(newValue)"
。 (为什么它会像这样?这是一个快速的语法吗?)
答案 0 :(得分:1)