IOS 數據存儲——用戶默認設置 NSUserDefaults

用戶默認設置NSUserDefaults

NSUserDefaults類提供了一個與默認系統進行交互的編程接口。NSUserDefaults對象是用來保存、恢復應用程序相關的偏好設置、配置數據等等。默認系統允許應用程序自定義它的行爲去迎合用戶的喜好。你可以在程序運行的時候從用戶默認的數據庫中讀取程序的設置。同時,NSUserDefaults的緩存避免了在每次讀取數據時候都打開用戶默認數據庫的操作。可以通過調用synchronize方法來使內存中的緩存與用戶默認系統進行同步。NSUserDefaults類提供了非常方便的方法來讀寫常用的類型。方法是指定要寫入的數據類型以及以後用於訪問該數據的,有6個寫入方法可供調用:setBool:forKeysetFloat:forKeysetInteger:forKeysetObject:forKeysetDouble:forKeysetURL:forKey,具體使用哪個方法取決於要存儲的數據類型。其中,方法setObject:forKey用於存儲NSStringNSDateNSArryNSDictionary等等對象類型。

NSUserDefaults是單例,同時也是線程安全的。

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];

[userDefaults setBool:self.toggleSwitch.on forKey:kOnOffToggle];

[userDefaults setFloat:self.brightnessSlider.value forKey:kBrightnessLevel];


上述代碼將數據寫入默認設置數據庫時,並不一定會立即保存這些數據。還需要

進一步調用 synchronize 方法確保所有數據都及時寫入:

[userDefaultssynchronize];

要將這些數據讀入 App 中,可根據鍵值和返回類型,調用相應的方法。根據要

讀取的數據類型,可選擇 arrayForKeyboolForKeydateforKey

dictionaryForKeyfloatForKeyintegerForKeyobjectForKey

doubleForKeyURLForKey等等方法。

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];

self.brightnessSlider.value = [userDefaults floatForKey:kBrightnessLevel];

self.toggleSwitch.on = [userDefaults boolForKey:kOnOffToggle];


發佈了26 篇原創文章 · 獲贊 5 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章