iOS中借助NSTimer可以实现对目标方法的定时启动,并选择是否重复进行。
实现方法:
1. 声明对象
//Timer
@property (strong, nonatomic) NSTimer *uploadTimer;
2. 初始化对象并自动开启timer
self.uploadTimer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(uploadPosition) userInfo:nil repeats:YES];
1.0表示每1秒钟执行一次,uploadPosition是对应引发的方法名,repeats:YES表示重复进行,否则的话只运行一次。
注:该种初始化方法默认讲mode直接添加到当前的runloop中,自动开启。
或者采用第二种方法:
uploadTimer = [NSTimer timerWithTimeInterval:3.0 target:self selector:@selector(uploadPosition) userInfo:nil repeats:YES];
[[NSRunLoop currentRunLoop] addTimer:uploadTimer forMode:NSDefaultRunLoopMode];
需要手动将此timer添加到当前的RunLoop中。
3. 关闭timer
[self.uploadTimer invalidate];