bug_解决计时器不准确
2016-11-18 本文已影响38人
oldSix_Zhu
遇到了一个需求:
点击详情页面剧集弹出广告view,并倒计时60s,60s后播放正片,并可以点击"确定"按钮使广告view消失;
点击不同剧集都会弹出广告并重新计时,点击同一剧集会弹出广告view,计时则为剩余时间.
整体思路为:
播放控制View接收到点击事件,发出通知让详情页面VC创建广告view,同时根据通知参数response的广告时间开启计时器倒计时,改变广告view的属性label显示时间;
同时播放控制view也根据response的广告时间开启倒计时,并记录广告时间,倒计时结束调用播放正片方法;
在播放控制view中点击相同的剧集也会弹出广告view,根据记录的广告时间重新发出通知创建新的广告view;
bug:
点击剧集A后,再点击剧集B,再点回剧集A,会出现倒计时很不准确,时间会缩短且倒计时很快,点得多了误差很大,而且不论点了什么剧集,60s后就会开始播放第一次点击的剧集,之后会根据点击过的剧集依次播放剧集
解决:
在延迟调用播放正片方法时,取消之前的所有延迟方法,保险起见,先销毁之前的计时器,再创建一个
Snip20161118_1.png Snip20161118_3.png