NSTimer定时器

1.使用 scheduledTimerWithTimeInterval:invocation:repeats: 或者scheduledTimerWithTimeInterval:target:selector:userInfo:repeats: 这两个类方法创建一个timer并把它指定到一个默认的runloop模式中

2.使用 timerWithTimeInterval:invocation:repeats: 或者 timerWithTimeInterval:target:selector:userInfo:repeats:这两个类方法创建一个timer的对象,不把它知道那个到run loop. (当创建之后,你必须手动的调用NSRunLoop下对应的方法 addTimer:forMode: 去将它制定到一个runloop模式中.)

3.使用 initWithFireDate:interval:target:selector:userInfo:repeats: 方法分配并创建一个NSTimer的实例 (当创建之后,你必须手动的调用NSRunLoop下对应的方法 addTimer:forMode: 去将它制定到一个runloop模式中.)


- (void)fire;  //立即触发定时器

- (NSDate *)fireDate;//开始时间
- (void)setFireDate:(NSDate *)date;//设置fireData,其实暂停、开始会用到

- (NSTimeInterval)timeInterval;//延迟时间

- (void)invalidate;//停止并删除
- (BOOL)isValid;//判断是否valid

- (id)userInfo;//通常用nil

在invalidate之前最好先用isValid先判断是否还在线程中:

if ([scrollTimer isValid] == YES) {
        [scrollTimer invalidate];
        scrollTimer = nil;
}
[timer setFireDate:[NSDate date]]; //继续。
[timer setFireDate:[NSDate distantPast]];//开启
[timer setFireDate:[NSDate distantFuture]];//暂停
时间: 2024-08-05 09:48:12

NSTimer定时器的相关文章

21-30(NSTimer定时器 Cell的重用原理 代理的使用场合 UITableViewCell结构 监听键盘的通知)

21.NSTimer定时器 22.tableView的基本用法 23.tableView的常用属性 24.Cell的重用原理: 25.UITableViewCell结构 26.使用xib封装一个view的步骤 27.代理的使用场合 28.使用delegate的步骤 29.通过代码自定义cell步骤 30.监听键盘的通知 { 细节决定成败, 这句话讲的太对了, 所以我们要注意每一个细节!今天还好注意了, 没犯错!嘿嘿! 今天心情特别好, 心情好! 啥都好! 给大家来个笑, 工作的同时,不要忘记笑容

【转】IOS NSTimer 定时器用法总结

原文网址:http://my.oschina.net/u/2340880/blog/398598 NSTimer在IOS开发中会经常用到,尤其是小型游戏,然而对于初学者时常会注意不到其中的内存释放问题,将其基本用法总结如下: 一.初始化方法:有五种初始化方法,分别是 + (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti invocation:(NSInvocation *)invocation repeats:(BOOL)yesOrNo; -

NSTimer定时器的简单总结

NSTimer类是我们经常要用到的一个类库,它可以实现一个简单的定时器功能. NSTimer的初始化: 1.添加一个每0.1s循环一次的NSTimer [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(go) userInfo:nil repeats:YES]; -(void)go { NSLog(@"%@",[NSThread currentThread]); } 2.使用NSInvo

NSTimer定时器使用

(一)定时器 运用NSTimer类来创建定时器类,或者更简单的来说,就是定时器.定时器等待一个确定的时间间隔后,就会执行特定的消息给目标对象.例如可以创建一个NSTimer类发送消息给一个 window,告诉他在一个确定的时间间隔来update他自己. 所以说定时器就是能够在接下来的时间执行或者周期执行方法的一个对象. 那么问题来了,定时器未来的某一刻执行或者重复执行方法,如何保证那个时候我们要触发的方法还是有效的呢? 其实timer都会对它的target进行retain.从而保证了timer调

【IOS基础知识】NSTimer定时器使用

1.声明 NSTimer         *timer; 2.定义 timer = [NSTimerscheduledTimerWithTimeInterval:1.0ftarget:selfselector:@selector(updateValue)userInfo:nilrepeats:YES]; 以下是调用函数 -(void)updateValue { NSLog(@"Hello Timer "); } 3.打开定时器 -(void)viewWillAppear:(BOOL)a

IOS NSTimer 定时器用法总结

NSTimer在IOS开发中会经常用到,尤其是小型游戏,然而对于初学者时常会注意不到其中的内存释放问题,将其基本用法总结如下: 一.初始化方法:有五种初始化方法,分别是 + (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti invocation:(NSInvocation *)invocation repeats:(BOOL)yesOrNo; - (void)viewDidLoad {     [super viewDidLoad];    

NSTimer “定时器”

•NSTimer叫做“定时器”,它的作用如下 Ø在指定的时间执行指定的任务 Ø每隔一段时间执行指定的任务 Ø •调用下面的方法就会开启一个定时任务 + (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti   target:(id)aTarget selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)yesOrNo; 每隔ti秒,调用一次aTarget的aSele

GCD dispatch_source基本使用,创建GCD定时器与NSTimer的区别

可以使用GCD创建定时器 创建定时器: dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_source_t timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, queue); self.timer = timer; // 定时任务调度设置,4秒后启动,每个5秒运行 dispat

定时器+时间戳(差)

NSDate 有很多用法,今天只探讨最简单一种,关于时间戳问题的. 业务场景:服务器返回时间戳数据(为了方便或者其他原因),本地要做基于本地时间与服务器时间的差值,累加计算.查阅了一些资料,于是自己完成了一个小demo,特此记录. 实现逻辑:   1.取服务器时间戳 2.去本地时间戳 3.做减法运算,单位:秒 4.把结果转换为 时 分 秒 数据 5.NSTimer定时做累加操作  6.打完收工 另附代码如下: 这里,在使用NSTimer定时器时,要主要,需要添加到 NSRunLoop 中,有些同