iOS中关于定时器的所有方法总结

几种初始化方法:

  • 1:第一种方法:(自定义创建,创建出来的对象要使用addTimer:forMode方法手动加入主循环池中,才可执行循环)
eg:
    NSTimer * timer = [NSTimer timerWithTimeInterval:1 invocation:invo repeats:YES];
    //加入主循环池中
    [[NSRunLoop mainRunLoop]addTimer:timer forMode:NSDefaultRunLoopMode];
    //开始循环
    [timer fire];
}
  • 2:第二种方法:(自定义创建的,创建出来的对象要使用addTimer:forMode方法手动加入主循环池中,才可执行循环)
eg:
NSTimer * timer = [NSTimer timerWithTimeInterval:1 target:self selector:@selector(action:) userInfo:nil repeats:NO];
……….

  • 3:第三种方法:(定制好的,会自动执行且自动加入主循环池中)
eg:
NSTimer * timer = [NSTimer scheduledTimerWithTimeInterval:1 invocation:invo repeats:YES];
  • 4:第四种方法:(定制好的,会自动执行且自动加入主循环池中)
eg:
NSTimer * timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(action:) userInfo:@"123" repeats:YES];

  • 5:第五种方法:(需手动加入循环池,会在设定的启动时间启动)
eg:
NSTimer * timer = [[NSTimer alloc]initWithFireDate:[NSDate distantPast] interval:1 target:self selector:@selector(action:) userInfo:nil repeats:YES];
    [[NSRunLoop mainRunLoop]addTimer:timer forMode:NSDefaultRunLoopMode];

你可能感兴趣的:(iOS中关于定时器的所有方法总结)