不要急,不要怕

关于定时器要要知道的

初始化:

self.timer = [NSTimer scheduledTimerWithTimeInterval:3.0f target:self selector:@selector(nextPhoto) userInfo:nil repeats:YES];

//下边的方法必须手动加入runLoop
self.timer =[NSTimer timerWithTimeInterval:3 target:self selector:@selector(nextPhoto) userInfo:nil repeats:YES];
[[NSRunLoop currentRunLoop] addTimer:self.timer forMode:NSDefaultRunLoopMode];

在子线程中要使用第二种方法。

杀死定时器:

//这个是唯一一个可以将计时器从runloop中移出的方法。
[timer invalidate];
timer = nil;

暂停和继续:

//暂停定时器
[myTimer setFireDate:[NSDate distantFuture]];
//开启定时器
[myTimer setFireDate:[NSDate distantPast]];

在开发中一般要这样写
//页面将要进入前台,开启定时器
-(void)viewWillAppear:(BOOL)animated
{
//开启定时器
[scrollView.myTimer setFireDate:[NSDate distantPast]];
}

//页面消失,进入后台不显示该页面,关闭定时器
-(void)viewDidDisappear:(BOOL)animated
{
//关闭定时器
[scrollView.myTimer setFireDate:[NSDate distantFuture]];
}

fire:

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