Я пытаюсь преобразовать одну из функций javascript в функцию Swift 5. Но даже после стольких обширных поисков я ничего не смог найти.
function toArrayBuffer(type, ts, x, y, z, sc) {
let userId = userID.getUserId();
//console.log("Found GPS UserID: " + userId);
if (userId == "Unauthor") {
//console.log("GPS did not find the userID")
return null;
}
let buffer = new ArrayBuffer(8 * 4);
// Offset: 0
let float64Bytes = new Float64Array(buffer);
float64Bytes[0] = ts;
// Offset: 8
let bytes = new Float32Array(buffer);
bytes[2] = x;
bytes[3] = y;
bytes[4] = z;
bytes[5] = sc;
// Offset: 24
let uint8Bytes = new Uint8Array(buffer);
uint8Bytes[24] = type;
for (let i = 0; i < 8; i++) {
if (userId.charCodeAt(i)) {
uint8Bytes[i + 25] = userId.charCodeAt(i);
}
}
return buffer;
}
В основном я пытался создать ту же функцию с помощью var byteArray = [UInt8](stringVal.utf8)
, но UInt8
может хранить только до 256, но мне пришлось хранить метку времени эпохи. Так что это тоже не работает. Любая помощь будет оценена.