【发布时间】:2020-12-22 05:44:16
【问题描述】:
我正在尝试遍历一组计时器以将每个计时器设置为零。我遇到了这个错误:
无法赋值:'timer' 是 'let' 常量
当我使用以下代码时:
var timers = [Timer?]()
func clearTimers() {
for timer in timers {
timer!.invalidate()
timer = nil
}
}
【问题讨论】:
-
将
nil分配给本地timer变量不会做你想做的事,即使你可以。您需要从阵列中删除计时器。只需调用timers.removeAll(keepingCapacity:false)(或true,如果您打算将新计时器添加回数组) -
迭代
indices而不是定时器。 -
为什么要将计时器设置为零?使计时器无效就足够了。还将 timer!.invalidate() 更改为 timer?.invalidate()
标签: ios swift xcode timer nstimer