iOS定时器
相關(guān)類:NSTimer
A timer is not a real-time mechanism; it fires only when one of the run loop modes to which the timer has been added is running and able to check if the timer’s firing time has passed. Because of the various input sources a typical run loop manages, the effective resolution of the time interval for a timer is limited to on the order of 50-100 milliseconds. If a timer’s firing time occurs during a long callout or while the run loop is in a mode that is not monitoring the timer, the timer does not fire until the next time the run loop checks the timer.
Timer不是實(shí)時的,依賴于運(yùn)行的loop,精度為50-100ms。如果run loop沒有monitoring timer或者正在long callout,Timer不會被觸發(fā)。
創(chuàng)建定時器
A timer object can be registered in only one run loop at a time, although it can be added to multiple run loop modes within that run loop. There are three ways to create a timer:scheduledTimerWithTimeInterval、timerWithTimeInterval和initWithFireDate
后兩者在創(chuàng)建之后需要調(diào)用addTimer:forMode:
Once scheduled on a run loop, the timer fires at the specified interval until it is invalidated. A non-repeating timer invalidates itself immediately after it fires.you should always call the?invalidate?method from the same thread on which the timer was installed. Invalidating the timer immediately disables it so that it no longer affects the run loop.
?
NSTimer *timer?= [NSTimer?scheduledTimerWithTimeInterval:100?target:self?selector:@selector(timerFireMethod:)?userInfo:nil?repeats:YES];
userInfo:The user info for the timer. The timer maintains a strong reference to this object until it (the timer) is invalidated. This parameter may be?nil.
?
selector原型:?-(void)timerFireMethod:(NSTimer*)timer
啟停
暫停:[timer?setFireDate:[NSDate distantFuture]]
恢復(fù):[timer setFireDate:[NSDate date]]
轉(zhuǎn)載于:https://www.cnblogs.com/shanlilaideyu/p/4193621.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
- 上一篇: hdu 1241Oil Deposits
- 下一篇: Oracle 直方图理论