是否可以将Swift程序中的闭包传递给API,其中相应的参数已标记为CFunctionPointer
?
我发现有迹象表明(例如here)这对于Xcode 6的测试版本(现已过时)是不可能的。
但是,您无法调用C函数指针或将闭包转换为 C函数指针类型。
现在有可能吗?如果可以的话?
例如,如何在Swift中定义一个闭包,在AudioServicesAddSystemSoundCompletion
的调用中被接受为AudioServicesSystemSoundCompletionProc
?
This使用Swift和Objective-C来解决问题。一个人可以单独使用Swift课程吗?
答案 0 :(得分:4)
不,单凭Swift还不行。
但是,您无法调用C函数指针或将闭包转换为 C函数指针类型。
仍然有效并且是最新的。在Swift中无法定义或转换为C函数的闭包。您只能引用已定义的C函数。