NSUserDefaults standardUserDefaults的使用
阿新 • • 發佈:2019-01-05
轉載:http://blog.csdn.net/leikezhu1981/article/details/7108959
iphone中在本地儲存資料簡單的說有三種方式:資料庫、NSUserDefaults和檔案。
NSUserDefaults用於儲存資料量小的資料,例如使用者配置。並不是所有的東西都能往裡放的,只支援:NSString,NSNumber, NSDate, NSArray, NSDictionary,詳細方法可以檢視類檔案。
NSUserDefaultsstandardUserDefaults用來記錄一下永久保留的資料非常方便,不需要讀寫檔案,而是保留到一個NSDictionary字典裡,由系統儲存到檔案裡,系統會儲存到該應用下的/Library/Preferences/gongcheng.plist檔案中。需要注意的是如果程式意外退出,NSUserDefaultsstandardUserDefaults資料不會被系統寫入到該檔案,不過可以一、將資料儲存到NSUserDefaults:
//UISwitch - (IBAction)switchChanged:(id)sender{ NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; [userDefaults setBool:_theSwitch.on forKey:@"switchValue"]; } //UITextField - (IBAction)inputChanged:(id)sender{ NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; [userDefaults setObject:_textField.text forKey:@"inputValue"]; }
二、讀取NSUserDefaults中的資料:
//UISwitch NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; BOOL sw = [userDefaults boolForKey:@"switchValue"]; [_theSwitch setOn:sw]; //UITextField NSString *str = [userDefaults stringForKey:@"inputValue"]; [_textField setText:str];registerDefaults:方法是註冊偏好設定的子集,它是不寫入到plist檔案中的,但在ND中取確實能取到。
也就是說plist檔案中看到的資料是你顯示的設定進去的。
比如呼叫setxxx方法