我应该如何在Swift中使用NSSetUncaughtExceptionHandler

我应该如何在Swift中使用NSSetUncaughtExceptionHandler,第1张

我应该如何在Swift中使用NSSetUncaughtExceptionHandler 更新资料

使用Swift 2,您可以将Swift函数和闭包作为C函数指针传递

原始答案

从Xpre 6 beta 6开始,您不能这样做。

Swift确实支持传递函数指针,但是它们几乎就像不透明指针一样被对待。您既不能定义指向Swift函数的C函数指针,也不能在Swift中调用C函数指针。

这意味着您

NSSetUncaughtExceptionHandler()
从Swift 调用,但是处理程序必须在Objective-
C中实现。您需要这样的头文件:

volatile void exceptionHandler(NSException *exception);extern NSUncaughtExceptionHandler *exceptionHandlerPtr;

在实现中,您需要这样的东西:

volatile void exceptionHandler(NSException *exception) {    // Do stuff}NSUncaughtExceptionHandler *exceptionHandlerPtr = &exceptionHandler;

将头文件导入Swift桥接头之后,您可以照常设置异常处理程序:

NSSetUncaughtExceptionHandler(exceptionHandlerPtr)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4894208.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存