我有一个 C 指针数组,我想从中获取 Swift 中的数据。但是,我需要获取具有特定步幅/步长且没有 for 循环的数据以保持高效。
要获取所有数据,我会这样做:
let dataStrided = Array(UnsafeBufferPointer(start: dataPtr, count: arraySize))
但我不知道如何获得未跨步的数据。我会考虑使用 Swift 函数 stride,但以下(当然)不起作用:
let dataUnstrided = dataStrided[0.stride(to: arraySize-stepSize, by: stepSize)]
是否有一种有效的方法来做到这一点并避免 for 循环?