[NSDate distantPast]使用

本文介绍了一种在iOS应用中正确启动和停止定时器的方法。为了避免使用invalidate方法带来的问题,文章推荐采用设置定时器的fire date为远过去或远未来的方式来实现定时器的启停。这种方法适用于页面在前台和后台之间的切换场景。

本文转载至 http://blog.sina.com.cn/s/blog_5f1967e00101ge0i.html

 使用下面的方法: 关闭定时器不能使用invalidate方法,应该使用下面的方法:
//开启定时器 [myTimer setFireDate:[NSDate distantPast]];
然后就可以使用下面的方法再次开启这个timer了:
//开启定时器 [myTimer setFireDate:[NSDate distantPast]];
总结如下:
//页面将要进入前台,开启定时器 -(void)viewWillAppear:(BOOL)animated { //开启定时器 [scrollView.myTimer setFireDate:[NSDate distantPast]]; } //页面消失,进入后台不显示该页面,关闭定时器 -(void)viewDidDisappear:(BOOL)animated { //关闭定时器 [scrollView.myTimer setFireDate:[NSDate distantFuture]]; }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值