不可否认,我对Apple Docs的措辞很难,所以我可能会遗漏一些东西。但是,似乎并非如此。
这是问题所在。
假设:
let charSomeUUID = CBUUID(string: "12345678-1234-12234-1234-123456789qwe")
someCharacteristic = CBMutableCharacteristic(type: charSomeUUID, properties: [CBCharacteristicProperties.read, CBCharacteristicProperties.notify], value: nil, permissions: CBAttributePermissions.readable)
如何为值字段提供初始值?
我在didReceiveRead
看到了如何做到这一点。但是我想设置一个初始值。
我已经尝试将字符串放入数据对象并将其放入值位置,但这似乎不起作用。苹果文档中的(目标C)示例的快速3等效似乎不起作用(不再?)。
感谢您的帮助。
答案 0 :(得分:0)
道歉。
我实际上有另一段错误的代码,最终成为真正的问题。
对于未来的敬畏,这里的代码是为了表明我最初认为不起作用的事实上是有效的。
let stringValue : String = "something"
let dataValue = stringValue.data(using: String.Encoding.utf8)
// Device Info
someCharacteristic = CBMutableCharacteristic(type: someUUID, properties: CBCharacteristicProperties.read, value: dataValue, permissions: CBAttributePermissions.readable)
注意:通过此方法添加值时,您的特性需要只读。还有一些事要在那里阅读。
未使用只读会导致以下错误:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Characteristics with cached values must be read-only'
苏丹,谢谢你的关注。抱歉混淆了。