NSTimer 实现时钟回调方法
程序员文章站
2022-04-14 13:01:10
在开发过程中,发现时钟调用的地方比较多。所以对时钟进行了一个简单的统一封装。具体代码如下: 1、时钟回调函数的声明: 2、时钟回调函数的实现: ......
在开发过程中,发现时钟调用的地方比较多。所以对时钟进行了一个简单的统一封装。具体代码如下:
1、时钟回调函数的声明:
#pragma mark 时钟回调处理 //时钟回调 +(NSTimer*) lsScheduleTimerWithTimerInternal:(NSTimeInterval)interval block:(void(^)())block repeats:(BOOL)repeats;
2、时钟回调函数的实现:
/** * @brief 时钟回调 * @param paramete 请求参数 * interval: 时间间隔 * repeats: 重试次数 * @return NSTimer */ +(NSTimer*) lsScheduleTimerWithTimerInternal:(NSTimeInterval)interval block:(void(^)())block repeats:(BOOL)repeats { NSTimer* timer = [self scheduledTimerWithTimeInterval:interval target:self selector:@selector(lsTimerBlockInvoke:) userInfo:[block copy] repeats:repeats]; [[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes]; //保留NSTimer类对象,可忽略 return timer; } +(void)lsTimerBlockInvoke:(NSTimer*)timer { void(^block)() = timer.userInfo; if(block){ block(); } }