美文网首页
NSTimer 开始、暂停、结束

NSTimer 开始、暂停、结束

作者: wlysky | 来源:发表于2017-08-11 10:09 被阅读51次

今天遇到了一个比较特殊的需求,由于项目不上架,可以开心的各种违规操作。所以要求在UIScrollview上的4个UITableView不停的刷新数据,那么问题来了,当用户左右滑动的时候,会产生卡顿现象(大约有一秒钟的时间)。这简直没有用户体验而言啊!

废话不多说,下面是我的解决思路:

我需要在用户滑动的时候,停止NSTimer不停的加载数据

NSTimer是体统提供的一个不是非常精确的定时器,只有fire()和invalidate()关于启动和停止的方法。fire很好理解,就是开始调用,而且是立刻的,当你使用的时候,相当于,立刻调用了一遍timer的selector 。timer的原调用计时是不会改变的,只是在这个过程中加塞了一次。invalidate更直接干脆,把timer直接从runloop中移除了。

那么timer怎么暂停呢?

fireDate! 这是个NSDate类型的参数,这个就是timer的调用周期。像暂停的时候可以给它一个无限大的周期那么,这个时候不就相当于暂停了么。

timer.fireDate=Date.distantFuture 

相关文章

  • NSTimer 开始、暂停、结束

    今天遇到了一个比较特殊的需求,由于项目不上架,可以开心的各种违规操作。所以要求在UIScrollview上的4个U...

  • NSTImer

    NSTimer 基础请参考: NSTimer的使用以及 史上最简单的,NSTimer暂停和继续 Firing a ...

  • Tips:NSTimer需要注意的两个小问题

    1、scrollView滚动时NSTimer暂停的问题 便利构造方法 + (NSTimer *)scheduled...

  • NStimer 后台运行

    使用NSTimer的时候,每当APP进入后台,或者屏幕休眠后,NSTimer就会暂停。 要在后台NSTimer也运...

  • NSTimer 暂停/继续

    NSTimer 有一个属性叫 fireDate 。fireDate 就是 fire 的开始时间所以我们就有思路了。...

  • iOS 开发Tips(一)

    1.NSTimer //暂停if ([timer isValid]) {[timer setFireDate:[N...

  • timer在页面滚动时会造成回调暂停解决方法

    使用 +scheduledTimerWithTimeInterval方法生成NStimer会在滚动页面时造成暂停回...

  • NSTimer的使用

    使用NSTimer的时候,发现每次APP进入后台,或者屏幕休眠后,NSTimer就会暂停。为了解决这个问题,翻阅了...

  • NSTimer后台运行机制

    使用NSTimer的时候,发现每次APP进入后台,或者屏幕休眠后,NSTimer就会暂停。为了解决这个问题,翻阅了...

  • NSTimer设置开启、暂停、恢复、移除

    1)问题描述 NSTimer 自带的方法中是没有提供暂停和恢复的方法; 2)解决方案 NSTimer 有个方法是 ...

网友评论

      本文标题:NSTimer 开始、暂停、结束

      本文链接:https://www.haomeiwen.com/subject/ftqhrxtx.html