美文网首页
iOS 精确 高效 计时器列表

iOS 精确 高效 计时器列表

作者: devmao | 来源:发表于2019-01-18 11:38 被阅读9次

    核心技术点

    1. 选用GCD timer
      精确 易用
    2. timer 要定义为成员变量,否则会立即释放
    3. 校准本地时间
      服务器请求当前时间,并以此为准
    4. 计时器处理数据源,然后更新视图
      • 采用给cell重新赋值的方式更新,不采用reloadData
        原因:频繁调用reloadData去刷新UITableView,会发现有事件冲突,滚动的时候不够流畅,滚动的位置有时候并不是自己想要的
      • 仅更新可见cell visibleCells 即可,数据量大不卡顿
          // 可见cell
          NSArray *cells = self.tableView.visibleCells;
        
    5. 程序从前台到后台,再回到前台
      退到后台,计时器会停止,此时回到前台应该监听,然后重新请求数据,重新计时
    // 监听程序由后台回到前台
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(requestData) name:UIApplicationDidBecomeActiveNotification object:nil];
    
    1. 计时器释放
    // 计时器不用时 销毁
    dispatch_source_cancel(self.timer);
    

    注意好以上几个点,自己也可以写出很好用的计时器列表。
    over.

    参考

    iOS的几种定时器及区别
    cell (iOS表格) - 简单实现一个定时器管理600个倒计时
    iOS用定时器刷新列表Cell进行行倒计抢单功能

    相关文章

      网友评论

          本文标题:iOS 精确 高效 计时器列表

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