Coc*_*ser 5 c objective-c callback swift
是否可以将Swift类转换为C void*指针?
// swift class
class MyClass {
}
var myClass = MyClass()
var p: UnsafeMutablePointer<Void> = myClass //<- failed
//c function
void someSwiftClass(void *context);
Run Code Online (Sandbox Code Playgroud)
谢谢
我有类似的问题,你可以如下转换。
var myClass = MyClass()
var classPtr = unsafeBitCast(myClass, UnsafePointer<Void>.self)
Run Code Online (Sandbox Code Playgroud)
和你的功能,
func someSwiftClass(voidPointer: UnsafeMutablePointer<Void>) {
}
Run Code Online (Sandbox Code Playgroud)
如果你想声明常量指针使用UnsafePointer<T>并且当你的指针不是常量使用UnsafeMutablePointer<T>
在 C 常量指针中 -const int *myCpointer
对应的快速指针-let mySwiftPointer: UnsafePointer<Int32>