首页 > 代码库 > IOS系列——NStimer

IOS系列——NStimer

Timer常用的一些东西

1. 初始化  

 timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(changeTime:) userInfo:nil <span style="font-family: Arial, Helvetica, sans-serif;"> repeats:YES];</span>

2.timer 马上执行

[tiemr fire];
如果在初始化的时候不加这一句代码 ,timer也马上回执行


3. timer 失效

[timer invalidate];<pre name="code" class="html">timer = nil;    //timer失效的时候 ,最好要置空
这个失效之后 是不能重新使用这个timer的,也就相当于是timer无用了,想继续用timer只能重新初始化timer 在用


4.timer 暂停

[timer setFireDate:[NSDate distantFuture]];


5.timer 暂停之后重新开始

[timer setFireDate:[NSDate distantPast]];


6.timer 方法传参

传递的参数是一个id类型,我们一般吧所有的传递参数都放到NSdictionary里面去

    NSDictionary *dic = [NSDictionary dictionaryWithObject:[NSString stringWithFormat:@"%i",animIndexPath] forKey:@"animIndexPath"];
    timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(changeTime:) userInfo:dic repeats:YES];


在timer执行的方法里面
-(void)changeTime:(NSTimer *)tme{
    
    int soundLength = [[[tme userInfo] objectForKey:@"animIndexPath"] intValue];
    }
}
这样就可以拿到传递过来的参数



7.判断timer是否在运行

if ([timer isValid]) {
        [timer invalidate];
        timer = nil;
    }