Извлечение значений из необработанной таблицы - PullRequest
0 голосов
/ 22 октября 2018

Я получаю таблицу lensDistortionLookupTable, которая представляет собой NSData с плавающей точкой из AVCalibrationData и хочу преобразовать ее в массив.Какой правильный способ сделать это со Swift?

1 Ответ

0 голосов
/ 22 октября 2018
  1. получить байты из Data с withUnsafeBytes
  2. и использовать его для создания UnsafeBufferPointer из Float32 (в соответствии с документом)
  3. приведите его к обычному Array

    let float32size = MemoryLayout<Float32>.stride // should be 4, but do not hardcode
    let elementCount = data.count / float32Size
    
    let table: [Float32] = depthData.cameraCalibrationData!.lensDistortionLookupTable.withUnsafeBytes {
                       return Array(UnsafeBufferPointer<Float32>(start: $0, count: elementCount))
                    }
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...