gpt4 book ai didi

swift - 测量调用方法 "didUpdateValueFor"之间的时间

转载 作者:行者123 更新时间:2023-11-30 10:46:48 25 4
gpt4 key购买 nike

我想测量一个函数被调用到下次调用之间的时间。

目前我有一个带蓝牙的应用程序。 Arduino 将字节数组发送到应用程序以显示在表格 View 中。我有两个蓝牙模块,我想测量时间以查看速度差异。

当应用程序收到字节数组时,会调用函数 didUpdateValueFor。并将接收到的数据发送到另一个函数。

我的问题是,我使用的所有计时器和计数器都只能用于获取函数的整个执行时间。

我想要的只是测量接收到第一个字节数组到接收到下一个打包之间的时间。

func printTimeElapsedWhenRunningCode(title:String, operation:()->()) {
let startTime = CFAbsoluteTimeGetCurrent()
operation()
let timeElapsed = CFAbsoluteTimeGetCurrent() - startTime
print("Time elapsed for \(title): \(timeElapsed) s.")
}

使用我上面发布的函数,我确信效果很好。但我希望它测量每次调用 didUpdateValueFor 之间的时间。

所以:

Byte array receievd - didUpdateValueFor is called
Timer starts
New array received - didUpdateValueFor is called
Timebetween is: "...ms"

最佳答案

我确实找到了答案。不是最佳的,但目前有效:

    var start = Date()

func peripheral(_ peripheral: CBPeripheral, didUpdateValueFor characteristic: CBCharacteristic, error: Error?) {
var diff = Date().timeIntervalSince(start)
print("differanse is: \(diff) seconds")
start = Date()
print("Starting at 0")
diff = 0
print("diff = 0")

足够好

关于swift - 测量调用方法 "didUpdateValueFor"之间的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55587881/

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