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=
[NSTimerscheduledTimerWithTimeInterval:10.0target:selfselector:@selector(timerFired:)userInfo:nilrepeats:NO];
或
NSTimer *myTimer=
[NSTimertimerWithTimeInterval:3.0target: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过去了.
文章转载自:http://www.cnblogs.com/zhulin/archive/2012/02/02/2335866.html
分享到:
相关推荐
ios NSTimer应用demo 。iphone6.1 测试通过。具体demo截图和说明在:http://blog.csdn.net/donny_zhang
IOS 中NSTimer定时器的使用 NSTimery 定时器,主要用于进行定时执行指定方法,常用场景如:获取验证码的按钮倒计时;图片轮播定时。 1 使用注意事项: 1.1 倒计时时间间隔(时间单位是秒) 1.2 指定的执行方法 1.3...
使用系统原生的NSTimer来执行定时任务时会造成内存泄漏(闭环),同时在滑动ScrollView时,定时器并没起做用的bug Github:https://github.com/liuchongfaye/NSTimerInprovement 简书:...
关于iOS定时器和延时方法的四个实用小demo,可直接运行,copy代码也可直接使用,代码比较容易理解。
简单的nstimer时间计算器,上面有暂停,清零等简单的功能,免费下载
本实例是一个IOS下定时器的Demo,通过本实例你可以学到IOS下定时器的创建,定时器的使用。
NStimer 定时器 iOS 倒计时 objective-c
创建一个定时器(NSTimer) - (void)viewDidLoad { [super viewDidLoad]; [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(actionTimer:) userInfo:nil repeats:YES]; } - (void)...
,下面将给大家详细介绍关于iOS定时器使用的相关内容,话不多说了,来一起看看详细的介绍吧。 一. NSTimer NSTimer的初始化方法有以下几种: 会自动启动, 并加入 MainRunloop 的 NSDefaultRunLoopMode 中, 注意: ...
在当前控制器(ViewController)的view上添加了一个自定义的view(LXFTimerView), LXFTimerView在成功创建出来后添加了定时器NSTimer并加入RunLoop开始工作, 当在当前控制器里将LXFTimerView移除掉后,定时器还在...
这个时候我们就需要用到定时器,这里,我为大家推荐三种方法,分别是:NSTimer、CADisplayLink、GCD。接下来我就一一介绍它们的用法。希望能帮到大家。 一、NSTimer(一般用于定时的更新一些非界面上的数据) 1. 创建...
1.UIScrollView循环滑动,滑动到最后一页时,继续滑动,回到第一页 2.开始手动滑动时,停止定时器,手动滑动结束后停止定时器 3.向前滑之后,自动向前滑动 4.向后滑动之后,自动向后滑动
nstimer 定时器 倒计时 ios开发 代码
关于定时器在tableview上的复用问题
你可以像和NSTimer一模一样的初始化方法来使用XTimer,但是你用再担心是否会发生内存泄漏,以及RunLoop的问题。 同时XTimer还能够暂停、重新启动,这都是NSTimer不具备的
解决iOS中使用NSTimer定时器,无法调用dealloc方法,导致引用对象无法释放,造成循环引用的问题。
在学习iOS过程中,想定大家对于定时器都不陌生,在日常开发中总会碰到需要计时器的功能,常见的定时器有NSTimer、GCD、CADisplayLink。网上也有很多的教程介绍三者的区别,今天主要讲的是GCD这种方式使用以及封装。 ...
1) 规划程序文件夹和文件结构 2) 同一个工程中实现iPhone版和iPad版 3) 标签栏和标签栏控制器使用 4) 表视图控件和表视图控制器使用 5) NSTimer定时器使用