【发布时间】:2023-03-06 04:09:01
【问题描述】:
在 Swift 中,我想将 Data 类型的数据缓冲区(命名为 data)传递给 C 函数(命名为 do_something),该函数采用 UnsafePointer<UInt8> 类型的指针。
下面的代码示例是否正确?如果是这样,在这种情况下可以使用assumingMemoryBound(to:) 而不是bindMemory(to:capacity:) 吗?
data.withUnsafeBytes { (unsafeBytes) in
let bytes = unsafeBytes.baseAddress!.assumingMemoryBound(to: UInt8.self)
do_something(bytes, unsafeBytes.count)
}
【问题讨论】:
标签: swift unsafe-pointers