2016-11-10 8 views

답변

0

가있어 70 바이트!

var recived = [UInt8]() 

func serialPort(_ serialPort: ORSSerialPort, didReceive data: Data) { 
     recived.removeAll() 
     print("recieved:\(data))") 
     recived.append(contentsOf: data) 
} 
0

사용 withUnsafeBytes : UInt8Collection

스위프트 3에서
let data = "ABCD".data(using: .ascii)! 
data.withUnsafeBytes { (pointer: UnsafePointer<UInt8>) in 
    //Prints 67 which is the ASCII value of 'C' 
    print(pointer[2]) 
} 
8

, Data 작품, 당신은 단순히 Array.init를 사용할 수 있습니다.

var recived: [UInt8] = [] 

func serialPort(_ serialPort: ORSSerialPort, didReceive data: Data) { 
    print("recieved:\(data))") 
    recived = Array(data) 
} 

그러나, Array.init (또는 Array.append(contentsOf:)가) 복사 Data의 내용을, 당신은 Data의 거대한 크기로 작업해야하는 경우가 효율적이지 그래서.