iOS中定时器NSTimer的使用
2013-07-16 13:42
465 查看
1、初始化
+ (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)yesOrNo; + (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)yesOrNo;注: 不用scheduled方式初始化的,需要手动addTimer:forMode: 将timer添加到一个runloop中。 而scheduled的初始化方法将以默认mode直接添加到当前的runloop中. 举例:NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:10.0 target:self selector:@selector(timerFired:) userInfo:nil repeats:NO]; 或NSTimer *myTimer = [NSTimer timerWithTimeInterval:3.0 target:selfselector:@selector(timerFired:) userInfo:nilrepeats:NO];[[NSRunLoopcurrentRunLoop] addTimer:myTimerforMode:NSDefaultRunLoopMode];2、触发(启动)当定时器创建完(不用scheduled的,添加到runloop中后,该定时器将在初始化时指定的timeInterval秒后自动触发。可以使用-(void)fire;方法来立即触发该定时器;注:You can use this method to fire a repeating timer without interrupting its regular firing schedule. If the timer is non-repeating, it is automatically invalidated after firing, even if its scheduled fire date has not arrived.在重复执行的定时器中调用此方法后立即触发该定时器,但不会中断其之前的执行计划;在不重复执行的定时器中调用此方法,立即触发后,就会使这个定时器失效。3、停止-(void)invalidate;这个是唯一一个可以将计时器从runloop中移出的方法。注: NSTimer可以精确到50-100毫秒. NSTimer不是绝对准确的,而且中间耗时或阻塞错过下一个点,那么下一个点就pass过去了.
相关文章推荐
- iOS中定时器NSTimer的使用
- ios-UISlider-常用方法和定时器NSTimer的使用
- iOS中定时器NSTimer的使用
- iOS中定时器NSTimer的使用
- iOS中定时器NSTimer的使用
- iOS定时器NSTimer使用详解
- 关于ios定时器NSTimer的俩种使用方法
- iOS 定时器(NSTimer)基本使用方法
- iOS中定时器NSTimer的使用
- IOS 定时器NSTimer的使用
- iOS定时器NSTimer的使用方法
- 蜗牛爱课- iOS中定时器NSTimer使用
- iOS中定时器NSTimer使用
- 定时器(二)---ios NSTimer使用
- ios-day05-04(图片轮播器 UIScrollView的分页、UIPageControl的使用、NSTimer(定时器)的使用)
- iOS定时器NSTimer使用详解
- 【分享iOS开发知识】iOS中定时器NSTimer的使用
- iOS中定时器NSTimer的使用
- iOS中定时器NSTimer的使用
- iOS NSTimer 定时器的使用