iOS 关闭时候保存数据

开发过程中经常会保存一些用户数据到本地。有些人习惯每次使用一次就主动Save一次。
今天看项目中至少有30+个位置主动调用了Save。
其次是我写了个管理下载状态的东东,总不能让我每次改变一下状态我就Save一次吧?无法接受!!!
当然,如果每次关闭的时候来保存,
第一件事情肯定是在- (void)applicationWillTerminate:(UIApplication *)application中加入写入文件的代码!

applicationWillTerminate

Q:如果App崩溃了怎么办?
正确答案:解决所有Bug不让App崩溃就好了?!
WTF。

肯定会有无法解决或者无法预知的Bug存在啊,现在的想法就是去捕获异常的方法里去保存数据。
对的,使用NSSetUncaughtExceptionHandler & NSGetUncaughtExceptionHandler来进行异常的捕获!
也许你在很多博客都看到过对NSSetUncaughtExceptionHandler的讲解,不过你可能没注意到NSGetUncaughtExceptionHandler吧?
那你总知道百度的统计SDK和友盟的统计SDK吧?他们会帮我们捕获到异常信息,上传到他们自己的服务器,以便我们查看异常报告!然后他们并没有给出任何相关可以调用的方法,只给了一个开关,而且这个开关也许并没有什么卵用。(友盟虽然也给出了开关,但就算我关掉了,再调用统计方法的时候他还是会很牛逼的把异常捕获的注册拿到自己名下。)
当前直接关闭异常的捕获也不是我想要的!
那我们就想个办法把当前的临时存下来,然后自己来捕获异常,调用save之后再把异常丢给友盟就ok了!

捕获异常

当然,在你调用了友盟的一些统计方法后,你最好再调用一次[AppDelegate setVpUncaughExceptionHandler];而且就算你关闭了友盟的异常报告,也最好调用一次。

这只是我目前没有办法的解决办法,如果你知道更合适的方法,麻烦告知下!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,229评论 4 61
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,765评论 18 399
  • 时间:2016年5月10日21:28:50作者:JustDo23版本:友盟SDK v5.6.7 (2016-3-2...
    JustDo23阅读 15,978评论 14 32
  • 一个自认为勤奋的人,每天都在完成口才练习作业。然而在说故事时,碰到的故事卡壳,生动性差的困难并没有停留,而是...
    森林里的大象阅读 200评论 0 0
  • 美腻^ω^
    喵墨酱阅读 246评论 3 0