以下......
func peripheral(_ peripheral: CBPeripheral, didUpdateValueFor characteristic: CBCharacteristic, error: Error?) { print(characteristic) }
..输出...
<CBCharacteristic: 0x1700b8180, UUID = FFE1, properties = 0x10, value = <01>, notifying = YES>
我想要&#34;价值&#34;部分&#34; 01&#34;。
答案 0 :(得分:1)
根据documentation,您可以通过以下方式访问它:
characteristic.value
,这将是Data
类型的对象。
然后,您可以将此对象转换为字符串。
像这样:
let data = characteristic.value
var dataString = String(data: data, encoding: String.Encoding.utf8)
答案 1 :(得分:0)
我要感谢OOPer在Apple Developer论坛上的回答。
func peripheral(_ peripheral: CBPeripheral, didUpdateValueFor characteristic: CBCharacteristic, error: Error?) {
guard let data = characteristic.value else {
return
}
if data.elementsEqual([0x01]) { //<- You can directly compare a Data to an Array of bytes.
//do something
}
}
答案 2 :(得分:-1)
迅速: 在更新价值时从特征中获取价值。
func peripheral(_ peripheral: CBPeripheral, didUpdateValueFor characteristic: CBCharacteristic, error: Error?) {
let value = characteristic.value
print(value)
}