美文网首页iOS之功能细节OC进化iOS面试
面试题-NSDate\CFAbsoluteTimeGetCurr

面试题-NSDate\CFAbsoluteTimeGetCurr

作者: CC老师_HelloCoder | 来源:发表于2018-03-13 23:24 被阅读1244次

NSDate\CFAbsoluteTimeGetCurrent\CACurrentMediaTime的区别

昨天视觉班课程中间,正好案例中用到了.就随机给大家讲了一个面试题.以及遇到技术问题从哪些角度去回答.嗯.一边讲解,一边写了些小笔记.希望能给最近面试的同学一些帮助.

1.从框架的角度

  • NSDate 属于Foundation
  • CFAbsoluteTimeGetCurrent 属于 Core Foundation
  • CACurrentMediaTime 属于 QuartzCore

2.本质区别

  • NSDateCFAbsoluteTimeGetCurrent 返回的系统时钟时间将会从网络时钟同步.
  • 从时钟偏移量的角度 mach_absolute_time() 和 CACurrentMediaTime 基于内建时钟.能够更精确的测试时间,并且不会根据外部的时间变化而变化.(例如,时区变化\夏时制),它和系统的upTime有关.系统重启后,CACurrentMediaTime 也会重新设置.

3.常用用法

  • NSDate \CFAbsoluteTimeGetCurrent 常用于日常时间,时间戳表示,与服务器之间的数据交互.
  • CFAbsoluteTimeGetCurrent 相当于 [NSDate date]timeIntervalSinceReferenceDate];
  • CACurrentMediaTime 常用测试代码效率

4.项目使用场景

  • 分析:
    在购物车点击"+"和"-"时.如果说立即进行服务器同步的话,代价是非常高!所以会采用"延时提交"的方法.

  • 思路:
    连续点击的时候,不提交服务器.点击停止时,进行同步.

  • 连续点击如何判断了????

    采用的是判断2次点击的时间差,如果时间差小于一定的数值(自己根据项目需求判定).那么即可判断是连续点击的操作.

相关文章

网友评论

  • HH思無邪:我是点击后把按钮交互关了,请求完了再开启交互,原来大神是这样玩的,哈哈
  • 请叫我大帅666:本来想找到那个视频再复习下的, 有笔记正好:smiley:
  • 桔子听:CC老师,你的技术文章越来越少了,是越来越懒了,还是技术没有更新呢?
    CC老师_HelloCoder:@桔子听 哈哈.最近带VIP班.木有时间写技术文章了.只能分享自己看的其他方面书的笔记了.等从VIP班出来,就可以实现周更或者日更啦.

本文标题:面试题-NSDate\CFAbsoluteTimeGetCurr

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