【发布时间】:2016-08-03 20:14:27
【问题描述】:
我目前正在将一些较旧的 Objective-C 代码转换为 Swift,但遇到了一些 C 方面的问题。
我确实有一个需要回调函数的内部 API。
DoSomethingWithCallback(myCallbackType callback);
指定回调类型
typedef void(*myCallbackType)(struct customStruct *);
在我的 Objective-C / C 代码中,我刚刚添加了一个
static void functionThatActsAsCallback(struct customStruct *myStruct) {
..
}
并且可以用
调用所有内容DoSomethingWithCallback(functionThatActsAsCallback);
我尝试通过创建回调函数将其转换为 Swift
func functionThatActsAsCallback(myStruct: UnsafePointer<customStruct>) -> Void {
}
并尝试通过
拨打电话DoSomeThingWithCallback(functionThatActsAsCallback)
导致错误
无法将类型 '(UnsafePointer) -> Void' 的值转换为参数类型 'myCallbackType!'
我不太清楚为什么会出现这个错误以及如何解决这个问题。
提前感谢任何提示
【问题讨论】:
标签: objective-c c swift callback typedef