OC_NSTimer简单使用

手动搭配NSRunLoop使用
#pragma mark - timer方法
/**
 *  添加定时器
 */
-(void)addTimer
{
    _timer =  [NSTimer timerWithTimeInterval:2 target:self selector:@selector(checkInfo) userInfo:nil repeats:YES];
    //多线程 UI iOS程序默认只有一个主线程,处理UI的只有主线程。如果拖动第二个UI,则第一个UI事件则会失效。
    [[NSRunLoop currentRunLoop] addTimer:_timer forMode:NSRunLoopCommonModes];
}

/**
 *  关闭定时器
 */
-(void)closeTimer
{
    [_timer invalidate];
}

- (void)dealloc {
    
    [self closeTimer];
    _timer = nil;
}
使用scheduled方式初始化,将以默认mode直接添加到当前的runloop中
#pragma mark - timer方法
/**
 *  添加定时器
 */
-(void)addTimer
{
    _timer =  [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(checkInfo) userInfo:nil repeats:YES];
    [_timer fire];
}

/**
 *  关闭定时器
 */
-(void)closeTimer
{
    [_timer invalidate];
}
- (void)dealloc {
    
    [self closeTimer];
    _timer = nil;
}

你可能感兴趣的:(OC_NSTimer简单使用)