func addPeriodicTimeObserver(forInterval interval: CMTime, queue: DispatchQueue?, using block: @escaping (CMTime) -> Void) -> Any代码片段说,间隔将每0.5秒调用一次块
//每半秒调用回调一次
let interval = CMTime(seconds: 0.5,
preferredTimescale: CMTimeScale(NSEC_PER_SEC))如果您检查调试日志,并且结构间隔保存以下值。
最终的数值是500000000
结果证明timeScale是1000000000
有人能解释一下它会给出精确的0.5秒吗?据我所知,每单位500000000单位,每单位1/1000000000。
发布于 2019-08-12 01:56:53
参数是间隔被触发的频率(0.5秒),而preferredTimescale是该值的分辨率,在本例中是10^9。如果调试函数,您将按10^-9秒(ns)的顺序得到每0.5秒的值。
https://stackoverflow.com/questions/42471320
复制相似问题