swift中定时器(Timer) 的使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift中定时器(Timer) 的使用相关的知识,希望对你有一定的参考价值。

参考技术A Timer与NSTimer的使用注意:

1、由于ios是通过runLoop作为消息循环机制,主线程默认启动了runLoop,可是子线程没有默认的runLoop,因此在子线程启动runLoop即可。

2、runLoop的mode问题

如果timer是add到defaultRunLoopMode中,会出现滑动中UITrackingRunLoopMode得不到调度,导致定时器失效。

因为UITrackingRunLoopMode和KCFRunLoopDefaultMode都标记了common模式,所以可通过将timer添加到runLoopCommonModes实现在默认和追踪模式都能正常运行。

3、dealloc和定时结束时执行invalidate,置空timer。避免内存泄漏

以上是关于swift中定时器(Timer) 的使用的主要内容,如果未能解决你的问题,请参考以下文章

Swift:如何使用计时器每秒(或更短)更新标签?

Swift异步序列构造器AsyncStream内部定时器(Timer)无法被触发的解决

Swift异步序列构造器AsyncStream内部定时器(Timer)无法被触发的解决

如果应用程序在后台,iOS Swift Timer 不会触发

永久禁用计时器 - iOS Swift 4

Timer.scheduledTimer 在 Swift 3 中不起作用