因此,我正在尝试遵循斯坦福的快速讲座系列。但是,当我尝试播放以下代码时,它会得到“快速”的声音。错误。任何帮助将不胜感激..非常感谢
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var display: UILabel!
var userIsIntheMiddleOfTyping = false
@IBAction func touchDigit(_ sender: UIButton) {
let digit = sender.currentTitle!
if userIsIntheMiddleOfTyping {
let textCurrentInDisplay = display.text!
display.text = textCurrentInDisplay + digit
} else {
display.text = digit
}
userIsIntheMiddleOfTyping = true
}
}
需要注意的是,当调试器打开时,会突出显示以下代码行,
let digit = sender.currentTitle!
答案 0 :(得分:1)
在下面的代码行中,您强制解包可选值。
let digit = sender.currentTitle!
编译器试图告诉你。
如何解决问题?
nil
。在这种特定情况下,@IBOutlet weak var display: UILabel!
插座可能未连接。如果您不确定值是否为nil
,请使用条件语句并处理nil
大小写。例如:
if let digit = sender.currentTitle {
print("Great, its working")
} else {
print("error: currentTitle is nil")
}