我正在给一个CoreBluetooth设备写信
- (void)writeValue:(NSData *)data forCharacteristic:(CBCharacteristic *)characteristic type:(CBCharacteristicWriteType)type;
在目标C中
我想把这段代码移到Swift。因此,我在使用
open func writeValue(_ data: Data, for characteristic: CBCharacteristic, type: CBCharacteristicWriteType)
所发送的所有参数值都是相同的,但数据作为NSData
发送时将表示为这样的<000a0302>。在Swift中,数据表示为
4字节-计数:4▿指针: 0x00000002810ce5b0 -▿:10755040688▿字节:4个元素-0:0-1:10-2:3
然而,我并没有从蓝牙外设中得到同样的结果--这两个例子有什么不同?
发布于 2019-01-28 12:43:50
实际上是没有区别的。Data
被隐式桥接到NSData
,如果有必要,反之亦然。
区别在于NSData
和Data
在控制台中的显示方式。
NSData
由尖括号(<000a0302>
)中的十六进制字节表示。Data
由字节数(4 bytes
)表示。如果希望NSData
表示形式在print
表达式中添加as NSData
发布于 2019-01-28 16:47:32
它们是完全相同的-我有一些讨厌的包装代码导致了一个错误,现在被压扁了!
https://stackoverflow.com/questions/54402090
复制相似问题