iOS定时器NSTimer使用详解
2015-03-06 15:42
260 查看
原文地址
由于要使用到NSTimer 定时器用来做子线程 循环的执行任务。现在简单解释下NSTimer的使用方法。
1 | NSTimer *myTimer = [NSTimer scheduledTimerWithTimeInterval:1.5 target:self selector:@selector(scrollTimer) userInfo:nil repeats:NO]; |
repeats:NO 为单循环 YES为重复循环
永久停止定时器
1 | [timer invalidate]; |
首先关闭定时器不能使用上面的方法,应该使用下面的方法:
1 2 | //关闭定时器 [myTimer setFireDate:[NSDate distantFuture]]; |
1 2 | //开启定时器 [myTimer setFireDate:[NSDate distantPast]]; |
(主要是为了防止它在后台运行,暂用CPU)可以使用下面的代码实现:
1 2 3 4 5 6 7 8 9 10 11 12 13 | //页面将要进入前台,开启定时器 -(void)viewWillAppear:(BOOL)animated { //开启定时器 [scrollView.myTimer setFireDate:[NSDate distantPast]]; } //页面消失,进入后台不显示该页面,关闭定时器 -(void)viewDidDisappear:(BOOL)animated { //关闭定时器 [scrollView.myTimer setFireDate:[NSDate distantFuture]]; } |
就需要对把timer加入到该线程的runloop中去。否则timer会失效。
1 | [[NSRunLoop currentRunLoop]addTimer:myTimer forMode:NSDefaultRunLoopMode]; |
相关文章推荐
- iOS定时器NSTimer使用详解
- iOS NSTimer 定时器的使用
- iOS中定时器NSTimer的使用
- iOS中定时器NSTimer的使用
- IOS学习之NSTimer使用详解
- ios-day05-04(图片轮播器 UIScrollView的分页、UIPageControl的使用、NSTimer(定时器)的使用)
- iOS中定时器NSTimer的使用
- 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的使用