NSUserDefaults類(lèi)用于保存應(yīng)用程序設(shè)置和屬性以及用戶(hù)數(shù)據(jù)。例如,你可以存儲(chǔ)用戶(hù)在應(yīng)用程序中使用的圖片或默認(rèn)顏色方案。這些對(duì)象存儲(chǔ)在iOS所謂的“defaults系統(tǒng)”中。iOS的defaults系統(tǒng)在整個(gè)app中都是可用的,因此存放到defaults系統(tǒng)中的數(shù)據(jù)也是整個(gè)應(yīng)用程序生命周期中可用的。也就是說(shuō),無(wú)論用戶(hù)關(guān)閉程序還是關(guān)機(jī),在用戶(hù)再次打開(kāi)程序或開(kāi)機(jī)后這些數(shù)據(jù)仍然存在。NSUserDefaults可以存儲(chǔ)的數(shù)據(jù)類(lèi)型包括:
- NSData
- NSString
- NSNumber
- NSDate
- NSArray
- NSDictionary
如果你想保存其他類(lèi)型,如UIImage,你應(yīng)該進(jìn)行編碼(即archive),或者將它轉(zhuǎn)換為NSData、NSNumber或者NSString。
寫(xiě)入一個(gè)字符串:
// 保存數(shù)據(jù)
[[NSUserDefaults standardUserDefaults] setObject:@"string"forKey:@"name"];
// 用synchronize方法把數(shù)據(jù)持久化到standardUserDefaults數(shù)據(jù)庫(kù)
[[NSUserDefaults standardUserDefaults] synchronize];
讀取字符串:
NSString *userName = [[NSUserDefaults standardUserDefaults]objectForKey:@"name"];
NSUserDefaults:除了可以讀取、寫(xiě)入一些基本類(lèi)型外,還可以讀取、寫(xiě)入類(lèi)的對(duì)象。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。