简化工作与定时器的交互。
启动
WEAK_TIMER_ONCE(seconds, block_body); // no repeat timer
WEAK_TIMER_REPEAT(seconds, block_body); // repeat timer
停止
WEAK_TIMER_STOP(timerToken); // stop timer with token
WEAK_TIMER_STOP_ALL(); // stop all timers
启动循环定时器,它会与self一起被释放
- (void)viewDidLoad {
[super viewDidLoad];
WEAK_TIMER_REPEAT(1, {
self.value++;
});
}
将定时器token保存起来,稍后可以手动停止定时器
// @property (nonatomic) id timerToken;
-(void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
self.timerToken = WEAK_TIMER_ONCE(5, {
NSLog(@"5 sec elapsed");
});
}
-(void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
WEAK_TIMER_STOP(self.timerToken);
}
如果只使用一个定时器或者您需要停止所有定时器,则token不是必需的
-(void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
WEAK_TIMER_ONCE(5, {
NSLog(@"5 sec elapsed");
});
}
-(void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
WEAK_TIMER_STOP_ALL();
}