iphone的設置裡的數據幾乎都是保存在NSUserDefaults裡的,試想一下iphone常用的四種數據存儲的方式,NSUserDefaults也確實是一個理想的保存設置文件的方法。與其他方式相比,簡單易用,而且滿足需求。
首先我們來看一下語言的設置頁面:
你有沒有留意一個現象呢,就是你選定的語言總是出現在第一列。
這個是一個有趣的現象,你想一想,什麼樣的數據結構比較符合存儲這個列表數據。我想很多人的答案都會是,數組。
如果假設,這列表是以數組的形式保存,則第一項就是當前選定的語言,即當前語言在數組中的index值為0。
整個結構到這裡就很清晰了。NSUserDefaults使用(key,array)的方式保存了語言設置的數據,而array的第一項即是當前選定的語言。所以知道key是獲取到當前語言的關鍵:
[cpp]
/*得到當前設置的語言*/
+ (NSString*)currentLanguage
{ www.2cto.com
NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
NSArray* languages = [defaults objectForKey:@"AppleLanguages"];
NSString* currentLanguage = [languages objectAtIndex:0];
return currentLanguage;
}
怎麼樣來查找key呢?
文檔,About the User Defaults System 或者 Locale Concepts,都很值得一看。
作者:likendsl