记录:
dispatch_source_t timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0));
dispatch_source_set_timer(timer, DISPATCH_TIME_NOW, 1 * NSEC_PER_SEC, 0 * NSEC_PER_SEC);
dispatch_source_set_event_handler(timer, ^{
NSLog(@"11111");
});
dispatch_resume(timer);
如此并不能保证定时器的执行,添上:
[[NSRunLoop currentRunLoop]run];
就可以了,或者将 dispatch_source_t timer设置成全局,如:
@property (nonatomic, strong) dispatch_source_t timer;
——————————:
dispatch_async(dispatch_get_main_queue(), ^{
dispatch_source_t timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0));
dispatch_source_set_timer(timer, DISPATCH_TIME_NOW, 1 * NSEC_PER_SEC, 0 * NSEC_PER_SEC);
dispatch_source_set_event_handler(timer, ^{
NSLog(@"11111");
});
dispatch_resume(timer);
[[NSRunLoop currentRunLoop]run];
});