2014-11-04 1 views
0

writeValue:forCharacteristic:type:, 으로 BLE에 값을 쓰고 싶습니다.이 값은 2000-01-01 00:00:00부터 초 단위의 int 값입니다.IOS BLE NSData 바이트 발급 코드

int time_distance 468436137; 

nsigned char *bytes=(unsigned char *)&time_distance; 

NSData *da_sec=[NSData dataWithBytes: bytes length:sizeof(time_distance)]; 

da_sec 잘못이다 a9c4eb1b, 그것은 오히려 1bebc4a9을해야합니다.

a9 c4 eb 1b => 1b eb c4 a9.

이것이 역전되었습니다. 어떻게 해결할 수 있습니까?

+1

당신은 어느 때보 문구 "엔디안을"들어 본 적이 있습니까? 그렇지 않다면, 당신은 그것을 조사해야합니다. 이는 예상되는 동작입니다. – borrrden

+0

@borrrden Tut, 그들은 학교에서 Gulliver 's Travels *를 더 이상 가르치지 않습니다 ... – trojanfoe

+0

그 리틀 엔디안 전화. –

답변

0

은 빠른 3

var timeInterval:Int = Int(date.timeIntervalSince1970) 

let data = NSData(bytes: &timeInterval, length: 
MemoryLayout<Int>.size) 

let sendData:Data = (data as Data) 

self.selectPeripheral.writeValue(sendData, for: readWriteChar, type: .withResponse)