iOS定时器NSTimer使用详解
来源:互联网 发布:树莓派3 网络配置 编辑:程序博客网 时间:2024/04/30 13:59
由于要使用到NSTimer 定时器用来做子线程 循环的执行任务。现在简单解释下NSTimer的使用方法。
1
NSTimer *myTimer = [NSTimer scheduledTimerWithTimeInterval:1.5 target:self selector:@selector(scrollTimer) userInfo:nil repeats:NO];
每1.5s调用一次scrollTimer 只循环一次
repeats:NO 为单循环 YES为重复循环
永久停止定时器
1
[timer invalidate];
要想实现:先停止,然后再某种情况下再次开启运行timer,可以使用下面的方法:
首先关闭定时器不能使用上面的方法,应该使用下面的方法:
1
2
2
//关闭定时器
[myTimer setFireDate:[NSDate distantFuture]];
[myTimer setFireDate:[NSDate distantFuture]];
然后就可以使用下面的方法再此开启这个timer了:
1
2
2
//开启定时器
[myTimer setFireDate:[NSDate distantPast]];
[myTimer setFireDate:[NSDate distantPast]];
例子:比如,在页面消失的时候关闭定时器,然后等页面再次打开的时候,又开启定时器。
(主要是为了防止它在后台运行,暂用CPU)可以使用下面的代码实现:
1
2
3
4
5
6
7
8
9
10
11
12
13
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]];
}
-(void)viewWillAppear:(BOOL)animated
{
//开启定时器
[scrollView.myTimer setFireDate:[NSDate distantPast]];
}
//页面消失,进入后台不显示该页面,关闭定时器
-(void)viewDidDisappear:(BOOL)animated
{
//关闭定时器
[scrollView.myTimer setFireDate:[NSDate distantFuture]];
}
0 0
- iOS定时器NSTimer使用详解
- iOS定时器NSTimer使用详解
- iOS NSTimer定时器详解
- IOS 定时器NSTimer的使用
- iOS NSTimer 定时器的使用
- iOS中定时器NSTimer使用
- 【IOS基础知识】NSTimer定时器使用
- iOS中定时器NSTimer使用
- iOS-定时器的使用NSTimer
- iOS中定时器NSTimer使用
- iOS中定时器NSTimer使用
- iOS中定时器NSTimer使用
- ios NSTimer GCD定时器使用
- iOS中定时器NSTimer的使用
- iOS中定时器NSTimer的使用
- iOS中定时器NSTimer的使用
- iOS中定时器NSTimer的使用
- iOS中定时器NSTimer的使用
- Phoenix Framework中getText和getTagText的区别
- 马尔科夫随机场与gibbs分布
- java打开应用程序
- CareerCup Median of three numbers
- cmdilistener1.2
- iOS定时器NSTimer使用详解
- Redis特性分析
- EditText设置启动时默认的焦点,防止启动打开软键盘
- 吉布斯采样
- PHP中数据抓取
- Codeforces Round #197 (Div. 2) / 339C Xenia and Weights (爆搜)
- android获取sd卡最后一张照片
- ARM 开发板SD卡和NAND的启动过程
- Pyquery element内部所有函数