NSUserDefaults registerDefaults


NSUserDefaults除了保存和讀取功能外,還為我們提供了一個很便捷的方法:registerDefaults。

func registerDefaults(registrationDictionary: [NSObject : AnyObject])

它的參數是一個字典類型。它的作用是為定義一組默認的數據,僅僅是定義一組默認的數據…這些默認的數據是不會被保存到plist文件中的,我們需要手動變更這些數據然后保存。

舉一個栗子,我們可以使用這個方法來確認App是否是第一次啟動:

let defa = NSUserDefaults() //注冊一個默認值 defa.registerDefaults(["firstRun":true]) //從plist文件中讀取內容,因為第一次啟動還沒有生成plist文件,所以讀取上面注冊的默認值 let isFirstRun = defa.boolForKey("firstRun") //是第一次啟動 if(isFirstRun){ println("這是第一次啟動") //手動把firstRun改為false,保存到plist中 defa.setBool(false, forKey: "firstRun") } else{ println("不是第一次啟動") }

registerDefaults方法中的字典數據是不會被保存到plist文件中的,當我們讀取某個鍵值時,如果plist中沒有找到,那么會從registerDefaults方法的字典參數中尋找對應的鍵值,拿到默認值。當我們做了相應處理后,再手動把這個鍵值內容保存到plist中,下次讀取是就會直接讀plist文件中的鍵值了,而不會讀取registerDefaults參數中的字典內容了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM