iOS 常用计时延迟执行方法

- (void)viewDidLoad {
    [super viewDidLoad];
    // 第 1 种:performSelector 
  // 3.0s 以后 执行showNSLog: 方法,如果 withObject 不为 nil,则是传递过去的参数 
  // 注意,这个方法不会影响后面代码的执行,所以打印顺序是 12121212, 949494494, showMessage
    NSLog(@"12121212");
    [self performSelector:@selector(showMessage) withObject:nil afterDelay:3];
    
    NSLog(@"949494494");
    
    
    // 这个是 GCD,执行顺序和上面一样
    NSLog(@"-------");
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3.0*NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        
        NSLog(@"ok-ok-ok");
    });
    NSLog(@"44444444");
    
    // 第 3 种:NSTimer 
// 如果 repeats 为 YES,那么就是每隔 3.0s 就重复一次 showNSLog 这个方法
    [NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(showMessage) userInfo:nil repeats:YES];
    
    
}

-(void)showMessage{
    NSLog(@"showMessage");
}


你可能感兴趣的:(iOS 常用计时延迟执行方法)