Hallo,
ich scheitere gerade am umwandeln eines binären streams in einen String. Ich bekomme immer wieder ein Packet mit 20 bytes an Informationen. Aber "Array(UnsafeBufferPointer(start: UnsafePointer<UInt8>(data.bytes), count: data.length))" erfüllt nicht seinen zweck bzw. irgendwann kommt einfach misst raus. Wäre nett wenn mir dabei jemand helfen könnte
Console :
Quellcode
Alles anzeigen
Gruß
ich scheitere gerade am umwandeln eines binären streams in einen String. Ich bekomme immer wieder ein Packet mit 20 bytes an Informationen. Aber "Array(UnsafeBufferPointer(start: UnsafePointer<UInt8>(data.bytes), count: data.length))" erfüllt nicht seinen zweck bzw. irgendwann kommt einfach misst raus. Wäre nett wenn mir dabei jemand helfen könnte
Console :
Quellcode
Quellcode
- func nrfReceivedData(nrfManager: NRFManager, data: NSData?, string: String?) {
- guard let data = data else{
- Request()
- print("empty file")
- return
- }
- print(data)
- // NSData to Array of UInt8
- let binArray = Array(UnsafeBufferPointer(start: UnsafePointer<UInt8>(data.bytes), count: data.length))
- binstream += binArray
- if !handle.StreamCheckRoutine(binstream) {
- print("request pending")
- return
- }
- switch handle.Response(binstream) {
- case .Runtime:
- print("Runtime")
- communicationtimer.invalidate()
- LogData.sharedInstance.addSensorData(binArray)
- case .Acknowledge:
- print("Acknowledge")
- communicationtimer.invalidate()
- break
- case .Version:
- print("Version")
- let str = String(bytes: handle.deleteFrame(binstream), encoding: NSUTF8StringEncoding)
- id.text = str
- print(str)
- print(handle.deleteFrame(binstream))
- communicationtimer.invalidate()
- binstream = []
- break
- case .Sucesss:
- print("Sucesss")
- communicationtimer.invalidate()
- binstream = []
- break
- ......