ios - 如何遍历 Timer 类型的数组并将每个计时器设置为 nil
问题描述
我正在尝试遍历一组计时器以将每个计时器设置为 nil。我遇到了这个错误:
无法赋值:'timer' 是 'let' 常量
当我使用以下代码时:
var timers = [Timer?]()
func clearTimers() {
for timer in timers {
timer!.invalidate()
timer = nil
}
}
解决方案
存储一个可选的数组没有多大意义,所以首先简单地将你的timers
数组声明为:
var timers = [Timer]()
然后您可以遍历计时器以使它们无效并从数组中删除所有引用以释放它们:
func clearTimers() {
for timer in timers {
timer.invalidate()
}
timers.removeAll(keepingCapacity:false)
}
推荐阅读
- python - 尝试创建表单
- javascript - 使用 HTML / CSS / JavaScript 隐藏 YouTube 视频控件(标题、稍后观看、分享)
- javascript - 如何在辅助函数/mixin 中获取 Vue 模块
- python - 将多维 pytorch 张量拆分为“n”个较小的张量
- docker - Docker 容器无法启动 NestJs 应用程序
- javascript - 只使 HTML 链接在一定的点击量下工作?
- python - 如何让不和谐的机器人在python中离开语音通道
- javascript - 使用 JS 和按钮更改 html 中的背景
- flutter - 如何在 Flutter 的 SearchDelegate 中使用 SliverAppBar 隐藏 Scroll 上的 AppBar
- c# - 异步任务
返回“字符串”不包含定义