迅速的lldb错误

时间:2016-07-04 06:53:22

标签: xcode swift lldb

因此,我正在尝试遵循斯坦福的快速讲座系列。但是,当我尝试播放以下代码时,它会得到“快速”的声音。错误。任何帮助将不胜感激..非常感谢

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!

1 个答案:

答案 0 :(得分:1)

在下面的代码行中,您强制解包可选值。

let digit = sender.currentTitle!

编译器试图告诉你。

如何解决问题?

  1. 确保所有值都已连接且不是nil。在这种特定情况下,@IBOutlet weak var display: UILabel!插座可能未连接。
  2. 如果您不确定值是否为nil,请使用条件语句并处理nil大小写。例如:

    if let digit = sender.currentTitle {
      print("Great, its working")
    } else {
      print("error: currentTitle is nil")
    }