objective-c - 在 Objective C 中将 writeValue 数据作为 NSData 与 Swift 中的数据之间的区别
问题描述
我正在使用 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 -pointerValue:10755040688 ▿ 字节:4 个元素 - 0 : 0 - 1 : 10 - 2 : 3
- 3 : 2
但是,我没有从蓝牙外围设备返回相同的结果 - 这两个示例有什么区别?
解决方案
实际上没有区别。Data
如有必要,隐式桥接,NSData
反之亦然。
不同之处在于控制台的显示方式NSData
和显示方式。Data
NSData
由尖括号 (<000a0302>
) 中的十六进制字节表示。Data
由字节数 (4 bytes
) 表示。如果您想要表示NSData
添加表达式as NSData
print
推荐阅读
- radeditor - Sitefinity 向页面文本编辑器添加新功能
- sql - Postgres 中的级联删除:从子表和父表中删除,并从子表中保存 ID
- java - Spring-boot-maven-plugin 未部署到两个工件存储库之一
- python - 如何在列名中使用“.1”规范化列名并且不删除任何其他字符?
- python - 用于时间序列的 Keras 有状态 LSTM
- android - 如何在android中删除webview的标题边框
- python - odoo 更改值项目 many2one
- rxjs - 使用 RXJS 进行 Angular 5 $http 轮询
- angular - 类型 'undefined[]' 不可分配给类型 'number'
- kubernetes - 达到内存限制后崩溃时pod不会自动重新启动