Ale*_*ics 4 ios swift3 uint8array
如何将数据转换为UInt8数组?
func serialPort(_ serialPort: ORSSerialPort, didReceive data: Data) {
print("recieved:\(data)")
let arr: [UInt8] = Data(???)???
}
Run Code Online (Sandbox Code Playgroud)
收到的日志:70个字节
OOP*_*Per 16
在斯威夫特3,Data工程作为Collection的UInt8,所以你可以简单地使用Array.init.
var received: [UInt8] = []
func serialPort(_ serialPort: ORSSerialPort, didReceive data: Data) {
print("received:\(data))")
received = Array(data)
}
Run Code Online (Sandbox Code Playgroud)
但是,Array.init(或Array.append(contentsOf:))复制了内容Data,因此当你需要使用大量的内容时效率不高Data.
知道了!
var recived = [UInt8]()
func serialPort(_ serialPort: ORSSerialPort, didReceive data: Data) {
recived.removeAll()
print("recieved:\(data))")
recived.append(contentsOf: data)
}
Run Code Online (Sandbox Code Playgroud)