0

许多 C/Obj-C API 处理指向 void 的指针。在 swift 中,这些类型通常表示为 UnsafeMutablePointer 或 UnsafePointer(对于 const void*)。Swift 中将这些值重新解释为打包数据数组的典型方法是什么,例如 [Float] 或 [UInt8] ?

4

1 回答 1

0

最简单的方法是将其转换为UInt8指针:

let buffer = UnsafeMutablePointer<UInt8>(MTLBuffer.contents())

您可以使用下标运算符访问它:

for index in 0 ..< bufferSize {
    let foo = buffer[index]      // foo is `UInt8` type
    ...
    buffer[index] = bar
}
于 2016-07-12T08:08:01.363 回答