【发布时间】:2017-06-29 20:38:43
【问题描述】:
我正在尝试将 Data? 中包含的字节传递给 C 函数。 C 函数声明如下:
void func(const void *buffer);
我的 Swift 看起来像:
myData?.withUnsafeBytes { (buffer: UnsafeRawPointer) in
func(buffer)
}
但是,这会导致错误:
Cannot convert value of type '()' to closure result type '_'
如果我将UnsafeRawPointer 更改为UnsafePointer<Void>,则代码会构建,但我会收到警告:
UnsafePointer<Void> has been replaced by UnsafeRawPointer
解决这个问题的正确方法是什么?
【问题讨论】:
标签: c swift unsafe-pointers