博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS开发中NSTimer的开启与关闭
阅读量:7028 次
发布时间:2019-06-28

本文共 969 字,大约阅读时间需要 3 分钟。

hot3.png

调用一次计时器的方法:

myTime = [NSTimer scheduledTimerWithTimeInterval:1.5 target:self selector:@selector(scrollTimer) userInfo:nil repeats:NO];  //不重复,只调用一次。timer运行一次就会自动停止运行

 重复调用计时器的方法:

timer =  [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(action:) userInfo:nil repeats:YES];  //每1秒运行一次function方法。

注意:将计时器的reperts设置为YES,self的引用计数会加1,viewController可能不会release。所以,我们最好在viewWillAppear的时候,将计时器停止,否则可能会导致内存的泄露。

记住:停止以后,记得将NSTimer置空哦。

//取消定时器

[timer invalidate];
timer = nil;

关闭定时器的方法:

//关闭定时器

[myTimer setFireDate:[NSDate distantFuture]];

然后就可以使用下面的方法再此开启这个timer了:

//开启定时器

[myTimer setFireDate:[NSDate distantPast]];

例子:比如:在界面消失的时候关闭定时器,页面再次打开的时候,再开启定时器

//页面将要进入前台,开启定时器

-(void)viewWillAppear:(BOOL)animated
{
    //开启定时器
    [scrollView.myTimer setFireDate:[NSDate distantPast]];
}

//页面消失,进入后台不显示该页面,关闭定时器

-(void)viewDidDisappear:(BOOL)animated
{
    //关闭定时器
    [scrollView.myTimer setFireDate:[NSDate distantFuture]];
}

 

转载于:https://my.oschina.net/jesseLiLi/blog/679373

你可能感兴趣的文章
AB(apache benchmark)压力测试
查看>>
演示:思科IPS传感器的命令行初始配置(支持图型化管理)
查看>>
公开课视频-《第13章 部署-Citrix-负载均衡器-NetScaler VPX 10.5》(全部完结!!!)
查看>>
SQL Server 备份与恢复之五:备份策略
查看>>
Citrix为什么要兼容第三方服务器虚拟化平台?
查看>>
【MySQL数据库开发之一】Mac下配置安装数据库-MySQL
查看>>
.NET应用程序调试—原理、工具、方法
查看>>
(转)透彻理解块级元素的宽度
查看>>
SQL Server中生成测试数据
查看>>
第一节 38函数
查看>>
开博一年小结
查看>>
InternetOpen|InternetOpenUrl|InternetReadFile-获取网页源代码
查看>>
Zombie.js
查看>>
任意两个时间之间的星期几的次数-纵.sql
查看>>
hdu 1028
查看>>
php Ajax Post GET传值
查看>>
什么样的终端才是最合适桌面虚拟化的呢?
查看>>
jQuery – 随机排列 item
查看>>
Oracle function
查看>>
FNDLOAD使用大全
查看>>