NSTimer叫做“定時器”,它的作用如下
在指定的時間執行指定的任務
每隔一段時間執行指定的任務
調用下面的方法就會開啟一個定時任務
+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti
target:(id)aTarget
selector:(SEL)aSelector
userInfo:(id)userInfo
repeats:(BOOL)yesOrNo;
每隔ti秒,調用一次aTarget的aSelector方法,yesOrNo決定了是否重復執行這個任務
通過invalidate方法可以停止定時器的工作,一旦定時器被停止了,就不能再次執行任務。只能再創建一個新的定時器才能執行新的任務
- (void)invalidate;
解決定時器在主線程不工作的問題
NSTimer *timer = [NSTimer timerWithTimeInterval:2
target:self
selector:@selector(next)
userInfo:nil
repeats:YES];
[[NSRunLoop mainRunLoop] addTimer:timer
forMode:NSRunLoopCommonModes];