【iOS開發】UIApplicationDelegate中兩個值得注意的地方
01 – app 的第一個執行程式碼的機會是什麼
新建工程的時候,Xcode 預設建立的 AppDelegate 檔案裡面會有 UIApplicationDelegate
的 6 個代理方法,其中第一個是 application:didFinishLaunchingWithOptions:
,我們通常會在這裡進行 SDK 的初始化以及其他一些配置等等,但是 app 的第一個執行程式碼的機會其實是 application:willFinishLaunchingWithOptions:
,官方註解是:
This method is your app’s first chance to execute code at launch time.
這個知識點可以用於面試,以及對於一些對初始化時機有要求的 SDK 配置的 bug 排查。
02 – 應該在哪個回撥裡面儲存資料
官方已經寫清註釋,應該在 applicationDidEnterBackground:
來進行資料的保護性儲存,但是考慮一種特殊情況:直接連按 home 鍵,然後上劃殺死 app,這個方法還會呼叫嗎?
答案是會的,應用從 active 狀態至 suspended 狀態,是必須經過 background 狀態的,我們應該按照官方規範,在 applicationDidEnterBackground:
方法而不是在可能被呼叫更多次的 applicationWillResignActive:
方法裡面進行資料的保護性儲存。
相關文章
- UIApplicationDelegate 中兩個值得注意的地方UIAPP
- iOS開發中兩個常見問題的處理iOS
- Unix C語言值得注意的地方(轉)C語言
- Android EditText 的使用及值得注意的地方Android
- 微信企業付款介面PHP開發需要注意的兩個地方PHP
- 值得注意的安全開發知識總結
- spark lac 分析停留最長的兩個地方Spark
- 玩轉iOS開發:iOS中的GCD開發(一)iOSGC
- 玩轉iOS開發:iOS中的GCD開發(三)iOSGC
- 玩轉iOS開發:iOS中的GCD開發(二)iOSGC
- 主鏈開發有哪些值得注意的事項?
- iOS開發中的技巧iOS
- 玩轉iOS開發:iOS中的NSOperation開發(一)iOS
- 玩轉iOS開發:iOS中的NSOperation開發(二)iOS
- shopify本地開發 新的地方
- iOS 擷取字串中兩個指定字串中間的字串iOS字串
- iOS 開發中的『庫』(一)iOS
- iOS 開發中的『庫』(二)iOS
- iOS 開發中的 Git 流程iOSGit
- iOS App中可拆卸一個framework的兩種方式iOSAPPFramework
- iOS 工程開發中的 Code ReviewiOSView
- iOS開發中的幾種鎖iOS
- iOS 開發中的 Tips(一)iOS
- Android 日常開發中,兩個非常實用的佈局技巧Android
- 玩轉iOS開發:iOS開發中的裝逼技術 – RunTime(一)iOS
- 玩轉iOS開發:iOS開發中的裝逼技術 – RunTime(二)iOS
- 玩轉iOS開發:iOS開發中的裝逼技術 - RunTime(二)iOS
- 玩轉iOS開發:iOS開發中的裝逼技術 - RunTime(一)iOS
- 軟體開發中的兩種態度
- iOS開發之tableView左滑刪除的兩種方法iOSView
- iOS開發——從網路請求照片的兩種方法iOS
- Facebook iOS新版開發手記:兩倍速度的背後iOS
- iOS 開發中你不能不知道的一個 classiOS
- 關於iOS開發中copy的使用iOS
- 深入理解 iOS 開發中的鎖iOS
- iOS開發中AES的加密和解密iOS加密解密
- iOS開發中的小Tips(一)iOS
- iOS 開發中的多執行緒iOS執行緒