- #import "ViewController.h"
- @interface ViewController ()
- {
- dispatch_source_t _timer;
- NSArray *arr;
- }
- @end
- @implementation ViewController
- - (void)viewDidLoad {
- [super viewDidLoad];
- // Do any additional setup after loading the view, typically from a nib.
- self.view.backgroundColor = [UIColor redColor];
- [self startGCDTimer];
- }
- -(void) startGCDTimer{
- NSTimeInterval period = 1.0; //设置时间间隔
- dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
- _timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, queue);
- dispatch_source_set_timer(_timer, dispatch_walltime(NULL, 0), period * NSEC_PER_SEC, 0); //每秒执行
- dispatch_source_set_event_handler(_timer, ^{
- //在这里执行事件
- NSLog(@"每秒执行test");
- });
- dispatch_resume(_timer);
- }
- -(void) pauseTimer{
- if(_timer){
- dispatch_suspend(_timer);
- }
- }
- -(void) resumeTimer{
- if(_timer){
- dispatch_resume(_timer);
- }
- }
- -(void) stopTimer{
- if(_timer){
- dispatch_source_cancel(_timer);
- _timer = nil;
- }
- }
iOS GCD定时器的使用
最新推荐文章于 2024-08-11 16:56:49 发布