很多iOS應(yīng)用都支持偏好設(shè)置甘桑,比如保存用戶名、密碼、字體大小等設(shè)置贺喝,iOS提供了一套標(biāo)準(zhǔn)的解決方案來為應(yīng)用加入偏好設(shè)置功能
每個(gè)應(yīng)用都有個(gè)NSUserDefaults實(shí)例菱鸥,通過它來存取偏好設(shè)置
//比如,保存用戶名躏鱼、字體大小氮采、是否自動(dòng)登錄
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:@"itcast" forKey:@"username"];
[defaults setFloat:18.0f forKey:@"text_size"];
[defaults setBool:YES forKey:@"auto_login"];
讀取上次保存的設(shè)置
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *username = [defaults stringForKey:@"username"];
float textSize = [defaults floatForKey:@"text_size"];
BOOL autoLogin = [defaults boolForKey:@"auto_login"];
[defaults synchornize];的作用
- UserDefaults設(shè)置數(shù)據(jù)時(shí),不是立即寫入染苛,而是根據(jù)時(shí)間戳定時(shí)地把緩存中的數(shù)據(jù)寫入本地磁盤鹊漠。所以調(diào)用了set方法之后數(shù)據(jù)有可能還沒有寫入磁盤應(yīng)用程序就終止了。出現(xiàn)以上問題茶行,可以通過調(diào)用synchornize方法強(qiáng)制寫入