解决方法
更新
使用Swift 2,您可以将Swift函数和闭包作为C函数指针. See Martin R’s answer below.
原来的答案
你不能,从Xcode 6 beta 6.
Swift确实支持传递函数指针,但它们几乎像不透明的指针.您不能既不能定义一个指向Swift函数的C函数指针,也不能在Swift中调用C函数指针.
这意味着你从Swift调用NSSetUncaughtExceptionHandler(),但是处理程序必须在Objective-C中实现.你需要一个这样的头文件:
volatile void exceptionHandler(NSException *exception); extern NSUncaughtExceptionHandler *exceptionHandlerPtr;
在实现中,您需要这样的东西:
volatile void exceptionHandler(NSException *exception) { // Do stuff } NSUncaughtExceptionHandler *exceptionHandlerPtr = &exceptionHandler;
在Swift桥接头中导入头文件后,可以照常设置异常处理程序:
NSSetUncaughtExceptionHandler(exceptionHandlerPtr)