变量神秘地被评估为零

Variable mysteriously being evaluated to nil

我正在尝试在 Xcode 中设置视图控制器,其中标签由 NSTimer 更新。我使用的一些代码如下:

var secondsCounter = 0
var minutesCounter = 0
var timer = NSTimer()

override func viewDidLoad() {
    super.viewDidLoad()

    timer.invalidate()

    // start the timer
    timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: #selector(timerAction), userInfo: nil, repeats: true)
}    
func timerAction() {
    secondsCounter += 1
    if secondsCounter >= 60 {
        secondsCounter -= 60
        minutesCounter += 1
    }
    if secondsCounter < 10
    {
        secondsLabel.text = "0" + "\(secondsCounter)"
    }
    else {
        secondsLabel.text = "\(secondsCounter)"
    }
    minutesLabel.text = "\(minutesCounter)"

}
    //MARK: Outlets
@IBOutlet weak var minutesLabel: UILabel!
@IBOutlet weak var secondsLabel: UILabel!

我一直在尝试更新秒标签中的文本的行中收到错误 "unexpectedly found nil while unwrapping an Optional value"。我不明白为什么这不起作用,因为我有另一个视图控制器,它的代码完全相同,但效果很好。我调整了一些东西并停止了错误,但 secondsCounter 仍然出现为零,因为标签只显示“0”。几个小时以来,我一直试图解决这个问题,但无济于事。如果有任何建议,我将不胜感激!

尝试:

  • 将网点放在方法之前
  • 检查插座是否已连接
  • 检查故事板中的出口名称是否与代码中的名称相同