// // HDLSmartLinkTimerManager.h // HdlSmartIoT // // Created by 陈启扬 on 2021/9/30. // #import NS_ASSUME_NONNULL_BEGIN typedef void (^HDLLPCoutdownBlock)(double count); typedef void (^HDLLPCoutdownVoidBlock)(void); @interface HDLLinphoneTimerManager : NSObject // 单例 + (instancetype)sharedInstance ; /** 启动一个timer @param interval 执行的时间间隔(单位是秒) @param timerName timer的名称,作为唯一标识。 @param count 倒计时block @param finished 时间间隔到点时执行的block。 */ - (void)scheduleTimerWithInterval:(double)interval timerName:(NSString *)timerName count:(HDLLPCoutdownBlock)count finished:(dispatch_block_t)finished; ///** // 启动一个timer(传的NSNumber对象) // @param intervalNum 执行的时间间隔(单位是秒) // @param timerName timer的名称,作为唯一标识。 // @param count 倒计时block // @param finished 时间间隔到点时执行的block。 // */ //- (void)scheduleTimerWithIntervalNum:(NSNumber*)intervalNum timerName:(NSString *)timerName count:(HDLOPPCoutdownBlock)count // finished:(dispatch_block_t)finished; /*可设置单位的倒计时 @param interval 总时间 @param unit 计时单位 @param timerName timer的名称,作为唯一标识。 @param count 倒计时block @param finished 时间间隔到点时执行的block。 */ - (void)scheduleTimerWithInterval:(double)interval unit:(double)unit timerName:(NSString *)timerName count:(HDLLPCoutdownBlock)count finished:(dispatch_block_t)finished; /** 启动一个计时 @param rateTime 执行的时间间隔(单位是秒) @param timerName timer的名称,作为唯一标识。 @param count 计时block */ - (void)scheduleTimerWithRateTime:(float)rateTime timerName:(NSString *)timerName count:(HDLLPCoutdownVoidBlock)count; /** 取消timer @param timerName timer的名称。 */ - (void)cancelTimerByName:(NSString *)timerName; /** 启动timer @param timerName timer的名称。 */ - (void)resumeTimerByName:(NSString *)timerName; /** 挂起timer @param timerName timer的名称。 */ - (void)suspendTimerByName:(NSString *)timerName; /*获取timer @param timerName timer的名称。 */ -(dispatch_source_t)timerByNmae:(NSString *)timerName; @end NS_ASSUME_NONNULL_END