OC_NSTimer简单使用

作者: KermitX | 来源:发表于2016-05-18 14:54 被阅读574次
    手动搭配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简单使用

        本文链接:https://www.haomeiwen.com/subject/tbdwrttx.html