gpt4 book ai didi

swift - CMLogItem 时间戳 : Why so complicated?

转载 作者:行者123 更新时间:2023-11-28 07:35:35 50 4
gpt4 key购买 nike

我在 swift 中收到来自 CoreMotion 查询的 CMLogItem(可能是加速度计、陀螺仪)。现在,我想获取该样本的时间戳,最好是 Date() 对象。 CMLogItem 具有类型为 TimeInterval 的属性 .timestamp

文档告诉我以下内容:

The CMLogItem class defines a read-only timestamp property that records the time a motion-event measurement was taken.

但是,我不确定如何将此时间戳转换为 Date() 对象,因为我不知道时间戳指的是什么。

另一个文档说:

The timestamp is the amount of time in seconds since the device booted.

但这看起来真的很奇怪,我不明白为什么苹果会创建如此不一致和复杂的 API。

最佳答案

正确答案是:

extension CMLogItem {
static let bootTime = Date(timeIntervalSinceNow: -ProcessInfo.processInfo.systemUptime)

func startTime() -> Date {
return CMLogItem.bootTime.addingTimeInterval(self.timestamp)
}
}

这为我们提供了稳定、单调的结果,而每次调用 startTime 时都会计算 bootTime 的情况并非如此。

关于swift - CMLogItem 时间戳 : Why so complicated?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53250611/

50 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com