delayTask
一个简单的延时操作小工具,可以在任何地方使用,其基于NSObject创建
源码直接下载使用
implementation
NSObject+delayTask.h
#import <Foundation/Foundation.h>
@interface NSObject (delayTask)
- (void)performTaskWithTimeInterval:(NSTimeInterval)timeInterval action:(void (^)(NSDictionary *info))action;
@end
NSObject+delayTask.m
#import "NSObject+delayTask.h"
@implementation NSObject (delayTask)
- (void)performTaskWithTimeInterval:(NSTimeInterval)timeInterval action:(void (^)(NSDictionary *info))action
{
double delayInSeconds = timeInterval;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
action(nil);
});
}
@end
Usage
[self performTaskWithTimeInterval:0.5 actionBlock:^(NSDictionary *info) {
//other code on time finished
}];
self
可以为任意对象,只要在相应使用的地方引入该分类即可