我正在玩Swift并注意到Swift不允许创建CFFunctionPointers.它只能传递并引用现有的.
例如,CoreAudio要求CFunctionPointer到某些回调,因此我不能使用纯Swift.
所以我需要在这里使用一些Objective-C trampoline或wrapper,它将Swift Closure作为参数以及原始回调原型然后可以被指定为回调,但实际操作发生在Swift而不是Objective-C .
我该怎么做呢?
这种包装器的一些示例代码将帮助我理解如何使用来自目标C的Swift代码以灵活的方式使用Swift来解决Swift无法创建CFunctionPointers的问题.
是的,我知道我可以在Objective-C中根据需要编写内容.我希望在纯Swift中将其作为将我的一个应用程序移植到Swift(使用大量CoreAudio/CoreVideo框架)的学习练习.