用戶首選項NSUserDefaults

用戶首選項是用來保存和記錄用戶在操做應用的過程作作出的一些選擇或設置。相似Android開發中的SharedPreference,能夠存儲一些數據,但基本都是簡單類型的數據,主要做用都是存儲一些用戶設置數據,好比是不是首次登錄,就能夠設置一個布爾類型的變量,設值爲true或false。


NSUserDefaults的幾個重要方法: 框架

standardUserDefaults:建立共享默認設置對象的類方法(Java中的靜態方法,單例) iphone

objectForKey:返回鍵對象的實例方法 ide

setObject: forKey:以指定的鍵設置值的實例方法 spa


基本用法: code

新建一個工程,而後在ViewController.m中添加以下代碼 orm

- (void)viewDidLoad 對象

{ ip

    [superviewDidLoad]; 開發

   NSUserDefaults *myDefaults = [NSUserDefaultsstandardUserDefaults]; string

    [myDefaultssetObject:@"Hello"forKey:@"defaultKey"];

    

   NSLog(@"The value is %@",[myDefaultsobjectForKey:@"defaultKey"]);

}


編譯運行結果以下:

NSUserDefaultsTest[3007:f803] The value is Hello


這樣咱們實現了NSUserDefaults的基本使用,NSUserDefaults有一個基本特色就是,數據是保存在程序全局中的,因此當退出程序後下次再進來時,數據仍是存在的,這樣就起到了保存用戶操做數據的功能。


上面是實現了我的首選項的使用,下面咱們再來看看系統設置的使用。

首先來熟悉一下bundle

bundle的意思是應用程序束的意思,在IOS開發中,存在三種類型的bundle,分別是框架bundle、應用程序bundle和設置bundle。另外還有一種解釋就是Xcode讓您可以將多個文件組合成有機的總體,這就叫bundle。實際上,bundle就是一個目錄,或者叫包。bundle的有點在於它能不露痕跡的存儲文件的多個版本,並在特定的條件下使用正確的版本。咱們日常接觸比較多的就是應用程序bundle,當編譯運行程序在iphone或ipad上時,就建立了應用程序bundle。


首先新建一個文件,新建時選擇Resources,而後選擇settings.bundle,這樣就創建了一個設置首選項的默認形式,運行後到模擬器的設置中能夠看到以下界面:



打開Settings.bundle文件



能夠看到有個Root.plist文件,裏面存儲的內容都是以鍵值對的形式存儲的。這裏的Item就對應了設置界面中顯示的一些選項,Item0的類型是Group,對應的是一個分組表格類型,而後下面的Item都在這個分組表格中,直到遇到下一個Group。Text Field是輸入文本框,下面的identifier是key,在代碼中能夠經過NSUserDefaults的objectForKey:來訪問這個key對應的value。顯示類型可供選擇的還有開關、滑動條、子設置項等。使用中能夠具體查看。


這是我作的另外一個Demo,裏面包含了更多可顯示的類型



而後回到ViewController.m文件中,在viewDidLoad中添加以下代碼:

//程序設置首選項

    self.nameLabel.text = [[NSUserDefaultsstandardUserDefaults] stringForKey:@"name_preference"];

    

    BOOL isSwitch = [[NSUserDefaultsstandardUserDefaults] boolForKey:@"enabled_preference"];

   //輸出BOOL值的方式

    self.switchLabel.text = [NSStringstringWithFormat:@"%@",isSwitch ?@"YES":@"NO"];

    

    float sliderValue = [[NSUserDefaultsstandardUserDefaults] floatForKey:@"slider_preference"];

    self.sliderLabel.text = [NSStringstringWithFormat:@"%f",sliderValue];


這樣就把設置中的信息讀出來顯示到界面上了:



以上就是兩種用戶首選項的使用方法,一種是自定義首選項,一種是使用系統設置的方式。兩種都很方便,在項目中用到的地方也比較多。


以上還有不足的地方,但願你們補充,但願和我交流的同窗能夠關注個人新浪微博:唐韌_Ryan

相關文章
相關標籤/搜索