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;使用.


你可能感兴趣的:(NSTimer使用)