iOS 几种定时方式

来源:互联网 发布:linux卸载svn服务器 编辑:程序博客网 时间:2024/06/03 03:56
  1. //第一种 每一秒执行一次(重复性)  
  2. double delayInSeconds = 1.0;  
  3. timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 00, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0));  
  4. dispatch_source_set_timer(timer, DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC, 0.0);  
  5. dispatch_source_set_event_handler(timer, ^{  
  6.     NSLog(@"timer date 1== %@",[NSDate date]);  
  7. });  
  8. dispatch_resume(timer);  
  9.   
  10. //第二种 二秒后执行 (一次性)  
  11. double delayInSeconds = 2.0;  
  12. dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));  
  13. dispatch_after(popTime, dispatch_get_main_queue(), ^(void){  
  14.     NSLog(@"timer date 2== %@",[NSDate date]);  
  15. });  
  16.   
  17. //第三种 每一秒执行一次 (重复性)  
  18. [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(testTimer) userInfo:nil repeats:YES];
0 0