美文网首页
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 开始、暂停、结束

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