Javascript getUint16 альтернатива для Swift - PullRequest
0 голосов
/ 09 мая 2018

У меня есть этот код JavaScript.Для считывания значения BLE.

         ble.read(currentDevice,"49141400-61EE-46BF-858C-6872C0C9A710","4914140b-61EE-46BF-858C-6872C0C9A710",function(data) {
         var dv1 = new DataView(data);
         document.getElementById("profile71").value = dv1.getUint16(0,true);
         document.getElementById("profile72").value = dv1.getUint16(2,true);
         document.getElementById("profile73").value = dv1.getUint16(4,true);
         document.getElementById("profile74").value = dv1.getUint16(6,true);
         document.getElementById("profile75").value = dv1.getUint16(8,true);
         document.getElementById("profile76").value = dv1.getUint16(10,true);
         },app.OnError);

Поиск альтернативы для Swift 3.0.Я не знаю, как я могу перевести Uint16 из данных.

Я использую в Swift: BLE характеристика.значение

1 Ответ

0 голосов
/ 09 мая 2018

Я предполагаю, что у вас есть данные типа Data в dv1:

var dv1: Data? = Data() // Rather `Data()`, you will your your data here

// Do this to convert dv1 to `UInt16`
if let data = dv1 {
    let u16Array: [UInt16] = data.bytes // `u16Array` is of type [UInt16] 
}

Где bytes лежит в Data расширение как:

extension Data {
    public var bytes: Array<UInt16> {
        return Array(self)
    }
}
...