iOS 關(guān)閉時(shí)候保存數(shù)據(jù)

開發(fā)過程中經(jīng)常會(huì)保存一些用戶數(shù)據(jù)到本地。有些人習(xí)慣每次使用一次就主動(dòng)Save一次。
今天看項(xiàng)目中至少有30+個(gè)位置主動(dòng)調(diào)用了Save。
其次是我寫了個(gè)管理下載狀態(tài)的東東,總不能讓我每次改變一下狀態(tài)我就Save一次吧?無法接受?。?!
當(dāng)然,如果每次關(guān)閉的時(shí)候來保存,
第一件事情肯定是在- (void)applicationWillTerminate:(UIApplication *)application中加入寫入文件的代碼!

applicationWillTerminate

Q:如果App崩潰了怎么辦?
正確答案:解決所有Bug不讓App崩潰就好了?!
WTF。

肯定會(huì)有無法解決或者無法預(yù)知的Bug存在啊,現(xiàn)在的想法就是去捕獲異常的方法里去保存數(shù)據(jù)。
對(duì)的,使用NSSetUncaughtExceptionHandler & NSGetUncaughtExceptionHandler來進(jìn)行異常的捕獲!
也許你在很多博客都看到過對(duì)NSSetUncaughtExceptionHandler的講解,不過你可能沒注意到NSGetUncaughtExceptionHandler吧?
那你總知道百度的統(tǒng)計(jì)SDK和友盟的統(tǒng)計(jì)SDK吧?他們會(huì)幫我們捕獲到異常信息,上傳到他們自己的服務(wù)器,以便我們查看異常報(bào)告!然后他們并沒有給出任何相關(guān)可以調(diào)用的方法,只給了一個(gè)開關(guān),而且這個(gè)開關(guān)也許并沒有什么卵用。(友盟雖然也給出了開關(guān),但就算我關(guān)掉了,再調(diào)用統(tǒng)計(jì)方法的時(shí)候他還是會(huì)很牛逼的把異常捕獲的注冊(cè)拿到自己名下。)
當(dāng)前直接關(guān)閉異常的捕獲也不是我想要的!
那我們就想個(gè)辦法把當(dāng)前的臨時(shí)存下來,然后自己來捕獲異常,調(diào)用save之后再把異常丟給友盟就ok了!

捕獲異常

當(dāng)然,在你調(diào)用了友盟的一些統(tǒng)計(jì)方法后,你最好再調(diào)用一次[AppDelegate setVpUncaughExceptionHandler];而且就算你關(guān)閉了友盟的異常報(bào)告,也最好調(diào)用一次。

這只是我目前沒有辦法的解決辦法,如果你知道更合適的方法,麻煩告知下!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,190評(píng)論 4 61
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,643評(píng)論 18 399
  • 時(shí)間:2016年5月10日21:28:50作者:JustDo23版本:友盟SDK v5.6.7 (2016-3-2...
    JustDo23閱讀 16,074評(píng)論 14 32
  • 一個(gè)自認(rèn)為勤奮的人,每天都在完成口才練習(xí)作業(yè)。然而在說故事時(shí),碰到的故事卡殼,生動(dòng)性差的困難并沒有停留,而是...
    森林里的大象閱讀 249評(píng)論 0 0
  • 美膩^ω^
    喵墨醬閱讀 277評(píng)論 3 0

友情鏈接更多精彩內(nèi)容