gpt4 book ai didi

swift - 为什么需要使用HMCharacteristic的readValue来获取当前值?

转载 作者:搜寻专家 更新时间:2023-11-01 05:34:43 26 4
gpt4 key购买 nike

在编写示例代码以了解 HomeKit 的工作原理时,我发现如果我只是使用 .value 属性,则无法获得 current 值,例如:

let theValue = serviceCharacteristic.value

相反,我会运行标准的 Apple HomeKit 应用程序,它似乎将所有内容与数据库同步,再次运行我的应用程序,现在我将获得当前值。

是否只有通过readValue才能真正获取设备特性的当前值?

func readValue(completionHandler completion: @escaping (Error?) -> Void)

如果不是,我应该使用什么其他方法?

最佳答案

是的,数据库保存的是特征的可读可写等相对静态的信息,但不保存特征当前的实际值。为此,您需要与附件本身进行通信,然后 readValue(和 writeValue)完成该操作。这些由系统执行并异步运行到您的线程,因此您需要一个完成处理程序来在系统完成并返回以将它们传递给您的应用程序时接收结果。

关于swift - 为什么需要使用HMCharacteristic的readValue来获取当前值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43103188/

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