NSRunLoop和NSTimer的小Demo

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NSRunLoop和NSTimer的小Demo相关的知识,希望对你有一定的参考价值。

#import "ViewController.h"

@interface ViewController ()
@property(strong, nonatomic) NSTimer *timer;
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    [self addTimer];
}

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
    [self removeTimer];
}

/** 自定义添加定时器的方法*/
- (void)addTimer{
    NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(mySelector) userInfo:nil repeats:YES ];
    
    //改变(添加)定时器的模式,能够同时处理两件事情
    [[NSRunLoop currentRunLoop]addTimer:timer forMode:NSRunLoopCommonModes];
    self.timer = timer;
}

/** 自定义的移除定时器的方法*/
- (void)removeTimer{
    [self.timer invalidate];
    self.timer = nil;
}

/** 自定义的timer响应方法*/
- (void)mySelector{
    NSLog(@"mySelector...");
}

@end

 

以上是关于NSRunLoop和NSTimer的小Demo的主要内容,如果未能解决你的问题,请参考以下文章

iOS开发中NSRunloop跟NSTimer的问题

ZBar的简单使用

AFHTTPSessionManager下载文件 及下载中 进度条处理,进度条处理需要特别注意,要加载NSRunLoop 中

UIScrollView 在滚动时暂停 NSTimer

OC底层原理探索-NSRunLoop

整理NSTimer使用及注意事项