iOS中计时器NSTimer如何调用类方法

一、使用计时器调用一个类方法

1、计时器只能调用实例方法,但是可以在实例方法中调用类方法(包一层的方法在开发中有很多妙用),代码示例如下:

 [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timerMethod) userInfo:nil repeats:YES];

-(void)timerMethod
{
//调用类方法
    [[self class] staticMethod];
}

-(void)invalid
{
    [timer invalid];
    timer = nil;
}

2、使用NSTimer时要注意, 计时器一定要加入Runloop中,并且选好mode才能执行,scheduledTimerWithTimeInterval方法创建一个计时器并加入到RunLoop中所以可以直接使用。

3、如果定时器的repeats设置为YES,说明定时器会重复执行, 一定要在合适的时机invalid。 (注意不能在dealloc中调用invalid, 因为一旦repeats设置为YES, 计时器NSTimer就会强只有self,导致dealloc永远不会调用,这个类也就不会被释放,比如我们可以在viewDidDisappear中调用invalid,这样就可以正常执行dealloc并释放了)

你可能感兴趣的:(iOS中计时器NSTimer如何调用类方法)