iOS下的定时器之NSTimer & CADisplayLink & GCD
概述 在日常的开发中,我们经常需要跟定时打交道,比如刷新界面动画,短信倒计时发送等,这便笔记总结了一些我在工作中使用到的一些开发,请大家多交流 NSTimer iOS中最基础的定时器,本质是通过Runloop来实现的,一般情况下比较准确,但是当运行循环耗时操作比较多时,就会出现不准确。同时也受所加入Runloop的Mode影响,具体可以参考Runloop的特性 创建 构造方法主要分为自动启动和手动启动,手动启动的构造方法需要我们在创建NSTimer后启动它,iOS10之后还加入block的构造方法,防止内存泄漏,点赞 /// 构造并开启(启动NSTimer本质上是将其加入RunLoop中) // "scheduledTimer"前缀的为自动启动NSTimer的,如: + (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)interval repeats:(BOOL)repeats block:(void (^)(NSTimer *timer))block /// 构造但不开启 // "timer"前缀的为只构造不启用的,如: + (NSTimer *)timerWithTimeInterval:(NSTimeInterval)interval repeats:(BOOL)repeats block:(void (^)