OC Extension CountDownManager(倒計時)
阿新 • • 發佈:2021-02-09
技術標籤:UI的封裝iosobjective-cswiftxcode
**
一直覺得自己寫的不是技術,而是情懷,一個個的教程是自己這一路走來的痕跡。靠專業技能的成功是最具可複製性的,希望我的這條路能讓你們少走彎路,希望我能幫你們抹去知識的蒙塵,希望我能幫你們理清知識的脈絡,希望未來技術之巔上有你們也有我。
**
說明使用之前,先建立物件例項化物件,通過物件呼叫方法進行使用
@property (nonatomic,strong) CountDownManager *aloneCountDown;
self.aloneCountDown = [CountDownManager new];
說明
/**
/**
倒計時 10位時間戳
@param finishTimeStamp 結束時間戳
@param adjust 校驗時間
@param completeBlock 根據結束時間拿到倒計時
*/
-(void)countDownWithFinishTimeTemStamp:(long long)finishTimeStamp adjust:(double)adjust completeBlock:(void (^)(NSString *,BOOL isFinish))completeBlock;
使用
//傳入的10位時間棧 - 當前時間 = 剩下的倒計時
[ self.aloneCountDown countDownWithFinishTimeTemStamp: 1899228800 adjust:0 completeBlock:^(NSString *timeStr, BOOL isFinish) {
if (isFinish) {
NSLog(@"已結束");
}
NSLog(@"timeStr - %@",timeStr);
}];
/**
倒計時 13位時間戳
@param finishTimeStamp 結束時間戳
@param adjust 校驗時間
@param completeBlock 根據結束時間拿到倒計時
*/
-(void)countDownWithFinishTimeTemThreeStamp:(long long)finishTimeStamp adjust:(double)adjust completeBlock:(void (^)(NSString *,BOOL isFinish))completeBlock;
使用
//傳入的13位時間棧 - 當前時間 = 剩下的倒計時
[self.aloneCountDown countDownWithFinishTimeTemThreeStamp:1564228800000 adjust:0 completeBlock:^(NSString *timeStr, BOOL isFinish) {
if (isFinish) {
NSLog(@"已結束");
}
NSLog(@"timeStr - %@",timeStr);
}];
/**
順計時 10位時間戳
@param starTimeStamp 開始的時間戳 是秒
@param completeBlock 已經過了多長時間的字串,是否已經到時間了
*/
-(void)clockwiseHasPasstimeWithStratTimeTemStamp:(long long)starTimeStamp adjust:(double)adjust completeBlock:(void (^)(NSString * dateStr))completeBlock;
使用
//1560852960 [[NSDate date] timeIntervalSince1970]; 當前10位時間戳
//當前時間戳- 傳入10位時間戳 = 得出的時間
[self.aloneCountDown clockwiseHasPasstimeWithStratTimeTemStamp:1560852960 adjust:0 completeBlock:^(NSString *dateStr) {
NSLog(@"timeStr - %@",dateStr);
}];
/**
順計時 13位時間戳
@param starTimeStamp 開始的時間戳 是毫秒
@param completeBlock 已經過了多長時間的字串,是否已經到時間了
*/
-(void)clockwiseHasPasstimeWithStratTimeTemThreeStamp:(long long)starTimeStamp adjust:(double)adjust completeBlock:(void (^)(NSString * dateStr))completeBlock;
使用
//1560852960000 [[NSDate date] timeIntervalSince1970]; 當前13位時間戳
//當前時間戳- 傳入13位時間戳 = 得出的時間
[self.aloneCountDown clockwiseHasPasstimeWithStratTimeTemThreeStamp:1560852960000 adjust:0 completeBlock:^(NSString *dateStr) {
NSLog(@"timeStr - %@",dateStr);
}];
/**
順計時 開始時間跑到結束時間遞增 10位
@param starTimeStamp 開始的時間戳 是秒
@param finishTimeStamp 結束的時間戳,是秒
@param completeBlock 已經過了多長時間的字串,是否已經到時間了
*/
-(void)countDownHasPasstimeWithStratTimeTemStamp:(long long)starTimeStamp finishTimeStamp:(long long)finishTimeStamp adjust:(double)adjust completeBlock:(void (^)(NSString * dateStr,BOOL isFinish))completeBlock;
使用
//1560852960 [[NSDate date] timeIntervalSince1970]; 當前10位時間戳
//順計時 開始時間跑到結束時間遞增 10位
[self.aloneCountDown countDownHasPasstimeWithStratTimeTemStamp:1560852960 finishTimeStamp:1560952960 adjust:1.0 completeBlock:^(NSString *dateStr, BOOL isFinish) {
NSLog(@"timeStr - %@",dateStr);
}];
/**
順計時 開始時間跑到結束時間遞增 13位
@param starTimeStamp 開始的時間戳 是毫秒
@param finishTimeStamp 結束的時間戳,是毫秒
@param completeBlock 已經過了多長時間的字串,是否已經到時間了
*/
-(void)countDownHasPasstimeWithStratTimeTemThreeStamp:(long long)starTimeStamp finishTimeStamp:(long long)finishTimeStamp adjust:(double)adjust completeBlock:(void (^)(NSString * dateStr,BOOL isFinish))completeBlock;
使用
//1560852960 [[NSDate date] timeIntervalSince1970]; 當前13位時間戳
//順計時 開始時間跑到結束時間遞增 13位
[self.aloneCountDown countDownHasPasstimeWithStratTimeTemThreeStamp:1560852960000 finishTimeStamp:1560952960000 adjust:1.0 completeBlock:^(NSString *dateStr, BOOL isFinish) {
NSLog(@"timeStr - %@",dateStr);
}];
/**
* 直接傳入秒數 10秒倒計時
* 根據時間間隔進行倒計時,timeout必須是整數,值是秒數
*
* @param timeOut 倒計時時間 秒
* @param completeBlock 倒計時回撥
*/
-(void)countDownWithTimeout:(NSTimeInterval)timeOut completeBlock:(void (^)(NSString *,BOOL isFinish))completeBlock;
使用
//傳入秒數倒計時
[self.aloneCountDown countDownWithTimeout:100 completeBlock:^(NSString *dateStr, BOOL isFinish) {
NSLog(@"timeStr - %@",dateStr);
}];
/**
* 獲取當前時間戳有兩種方法(以秒為單位)
* 根據時間間隔進行倒計時
*
*
*/
+(NSString *)getNowTimeTimestampReturnSecond;
使用
[CountDownManager getNowTimeTimestampReturnSecond];
列印結果 秒數: 1612777514
/**
* 獲取當前時間戳有兩種方法(以毫秒為單位)
* 根據時間間隔進行倒計時
*
*
*/
+(NSString *)getNowTimeTimestampMillisecond;
使用
[CountDownManager getNowTimeTimestampMillisecond];
列印結果:秒數: 1612777514000