快速转换特征内容

时间:2018-08-06 18:59:24

标签: ios objective-c swift

我对如何迅速完成此说明有疑问?

NSData * data = characteristic.value;
Byte *resultByte = (Byte *)[data bytes];

我知道第一行是这样的,但是如何获取字节

let data = characteristic.value! as NSData

1 个答案:

答案 0 :(得分:1)

您只需使用以下内容即可从数据创建字节数组

if let data = characteristic.value {
    let bytes = Array(data) // [UInt8]
}

但是通常您不需要创建额外的数组,因为Data 是一个集合,您可以通过直接访问单个字节 下标:

if let data = characteristic.value {
    let byte0 = data[0]
    let byte1 = data[1]
    // ...
}

或使用

获取指向原始字节的指针
if let data = characteristic.value {
    data.withUnsafeBytes { (bytePtr: UnsafePointer<UInt8>) in
        // ...
    }
}