chenqiyang
2024-07-17 be56723cce4cd60ddc144ebe6ac20607675b3006
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
//
//  HDLSmartLinkTimerManager.h
//  HdlSmartIoT
//
//  Created by 陈启扬 on 2021/9/30.
//
 
#import <Foundation/Foundation.h>
 
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