如何在未捕获的异常处理函数中调用实例方法?

时间:2016-05-11 08:14:46

标签: ios objective-c

我使用NSSetUncaughtExceptionHandler为我的应用设置未捕获的异常处理程序。当发生异常时,我想在我的AppDelegate中调用一个实例方法,这样我就可以清理一些东西并将一些日志写入本地数据库,但我无法弄清楚它是否干净这样做的方式。

我尝试使用静态引用实例,但这确实有效,但我真的不喜欢它。我不应该在整个运行时保留一些静态垃圾,以便能够在崩溃后进行清理。

理想情况下,我只想向(AppDelegate *)添加NSSetUncaughtExceptionHandler参数,以便我可以将实例传递给它,但我不知道该怎么做。

我正在考虑使用通知中心。我可以使用异常处理程序触发通知并在我的AppDelegate中监听它,但我不确定这是否可能或者比静态引用方式更清晰。

1 个答案:

答案 0 :(得分:1)

您是否可以使用UIApplication类获取对AppDelegate的引用?

类似的东西:

[[[UIApplication sharedApplication] delegate] instanceMethod];