NSUserDefaults淺談

本地存儲數據簡單的說有三種方式:數據庫、NSUserDefaults和文件。數據庫

NSUserDefaults用於存儲數據量小的數據,例如用戶配置。並非全部的東西都能往裏放的,只支持:NSString,NSNumber, NSDate, NSArray, NSDictionary,詳細方法能夠查看類文件。input

NSUserDefaultsstandardUserDefaults用來記錄一下永久保留的數據很是方便,不須要讀寫文件,而是保留到一個NSDictionary字典裏,由系統保存到文件裏,系統會保存到該應用下的/Library/Preferences/gongcheng.plist文件中。須要注意的是若是程序意外退出,NSUserDefaultsstandardUserDefaults數據不會被系統寫入到該文件,不過能夠使用[[NSUserDefaultsstandardUserDefaults] synchronize]命令直接同步到文件裏,來避免數據的丟失。同步

1、將數據存儲到NSUserDefaults:string

//UISwitchit

- (IBAction)switchChanged:(id)sender{io

        NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];配置

        [userDefaults setBool:_theSwitch.on forKey:@"switchValue"];gc

}程序

 

//UITextField方法

- (IBAction)inputChanged:(id)sender{

        NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];

        [userDefaults setObject:_textField.text forKey:@"inputValue"];

}

 

2、讀取NSUserDefaults中的數據:

//UISwitchNSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];BOOL sw = [userDefaults boolForKey:@"switchValue"];[_theSwitch setOn:sw];//UITextFieldNSString *str = [userDefaults stringForKey:@"inputValue"];[_textField setText:str]; registerDefaults:方法是註冊偏好設置的子集,它是不寫入到plist文件中的,但在ND中取確實能取到。 也就是說plist文件中看到的數據是你顯示的設置進去的。 好比調用setxxx方法

相關文章
相關標籤/搜索