0
データはstruct Data
の形式で到着します。サイズcount == 5
最後の3バイトには抽出する必要があるIDが含まれています。 (あなたは私が迅速に新しいです言うことができるように!)すぐにstructデータからバイトを抽出する
次のコードは動作しますが、しかし、私はそれを大幅に向上させることができたと確信しています:
var data:[UInt8] = [ 0xff, 0xff, 0x01, 0x02 ,0x03 ]
var txData = Data(bytes: data)
print(txData.count)
let byte00 = txData.subdata(in: 2..<3).withUnsafeBytes { (ptr: UnsafePointer<UInt8>) -> UInt8 in
return ptr.pointee
}
let byte01 = txData.subdata(in: 3..<4).withUnsafeBytes { (ptr: UnsafePointer<UInt8>) -> UInt8 in
return ptr.pointee
}
let byte02 = txData.subdata(in: 4..<5).withUnsafeBytes { (ptr: UnsafePointer<UInt8>) -> UInt8 in
return ptr.pointee
}
let rxData = (UInt(byte00) << 16) + (UInt(byte01) << 8) + UInt(byte02)
print(String(rxData, radix:16))
SWIFTのこの領域をカバーする任意のチュートリアルの勧告をいただければ幸いです。あなたはこのような何か書くことができます
[危険スウィフト:ポインタを使用してCとの対話](https://www.raywenderlich.com/148569/unsafe-swift?utm_source=raywenderlich.com+Weekly&utm_campaign=0863916fc0-raywenderlich_com_Weekly11_29_2016&utm_medium=email&utm_term=0_83b6edc87f-0863916fc0-414818977 ) –