变量神秘地被评估为零
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”。几个小时以来,我一直试图解决这个问题,但无济于事。如果有任何建议,我将不胜感激!
尝试:
- 将网点放在方法之前
- 检查插座是否已连接
- 检查故事板中的出口名称是否与代码中的名称相同
我正在尝试在 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”。几个小时以来,我一直试图解决这个问题,但无济于事。如果有任何建议,我将不胜感激!
尝试:
- 将网点放在方法之前
- 检查插座是否已连接
- 检查故事板中的出口名称是否与代码中的名称相同