NSTimer使用

前言:

  工作中常常需要使用NSTimer定时器.写下这篇日志是为了记下学到的东西.

常用方法讲解:


+ (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(nullable id)userInfo repeats:(BOOL)yesOrNo;

第一个类工厂创建方法需要搭配[[NSRunLoop currentRunLoop]addTimer:<#(nonnull NSTimer *)#> forMode:<#(nonnull NSString *)#>]使用,才能开启定时器


+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(nullable id)userInfo repeats:(BOOL)yesOrNo;

第二个类工厂创建方法,创建后直接开启定时器


- (instancetype)initWithFireDate:(NSDate *)date interval:(NSTimeInterval)ti target:(id)t selector:(SEL)s userInfo:(nullable id)ui repeats:(BOOL)rep NS_DESIGNATED_INITIALIZER;

第三个实例方法可以安排开启时间,也需要配合NSRunloop使用


- (void)fire;

将运行中的定时器,快速跳跃到下一次运行状态.例如一秒一启动的定时器,当使用这个方法的时候,快速启动.


- (void)invalidate;

试定时器失效,注意失效不等于定时器销毁.常配合_timer = nil;使用.


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、初始化 + (NSTimer*)timerWithTimeInterval:(NSTimeInterval)t...
    Stubborn_强阅读 3,077评论 2 1
  • NSTimer是ios上比较常用的定时器组件,在使用了一段时间后,发现有些地方是需要注意一下的。 NSTimer ...
    _Thinking_阅读 4,522评论 2 9
  • app中有一个计时功能。之前使用了简单的在主线程中调用: + (NSTimer *)scheduledTimerW...
    iOS谢先森阅读 2,790评论 0 0
  • 1.NSTimer的介绍 (1.)8种创建方法 <1> + (NSTimer *)timerWithTimeInt...
    liangZhen阅读 12,193评论 0 6
  • 今天是我第四次抽烟 由生硬到慢慢熟练 由不知道怎么拿烟,不知道怎么换气 由很担心很快烧完,到慢慢体会那种慢下来的节...
    一颗菠萝阅读 1,196评论 0 0