//
//  MyGCDTimer.h
//  ORKApp
//
//  Created by Howard on 2021/9/2.
//
#import <Foundation/Foundation.h>
#import <CommonSdk/MyAppConstant.h>
/**
 GCD定时器工具
 */
@class MyGCDTimer;
typedef void (^MyGCDTimerHandler)(MyGCDTimer *timer, BOOL finished);
@interface MyGCDTimer : NSObject
@property (nonatomic, assign) NSTimeInterval duration;//持续时长
@property (nonatomic, assign) NSTimeInterval interval;//每隔多少时间执行一次,单位s

- (NSTimeInterval)queue_runtime;//运行时长
/**
 开始定时,无限循环
 time:每隔多少时间执行一次,单位s
 duration:定时器持续时间
 handler:事件回调
 */
- (void)start:(NSTimeInterval)time duration:(NSTimeInterval)duration handler:(MyGCDTimerHandler)handler;
/**
 开始定时,无限循环
 time:每隔多少时间执行一次,单位s
 handler:事件回调
 */
- (void)start:(NSTimeInterval)time handler:(MyGCDTimerHandler)handler;
/**
 中止定时器
 */
- (void)stop;
/**
 延迟执行
 time:延迟时间,单位s
 handler:事件回调
 */
+ (void)delay:(NSTimeInterval)time handler:(MyCommonBlock)handler;
@end