iphone获取现阶段系统的语言

iphone获取当前系统的语言

iphone的设置里的数据几乎都是保存在NSUserDefaults里的,试想一下iphone常用的四种数据存储的方式,NSUserDefaults也确实是一个理想的保存设置文件的方法。与其他方式相比,简单易用,而且满足需求。

首先我们来看一下语言的设置页面:

iphone获取现阶段系统的语言

你有没有留意一个现象呢,就是你选定的语言总是出现在第一列

这个是一个有趣的现象,你想一想,什么样的数据结构比较符合存储这个列表数据。我想很多人的答案都会是,数组。

如果假设,这列表是以数组的形式保存,则第一项就是当前选定的语言,即当前语言在数组中的index值为0。


整个结构到这里就很清晰了。NSUserDefaults使用(key,array)的方式保存了语言设置的数据,而array的第一项即是当前选定的语言。所以知道key是获取到当前语言的关键:

/*得到当前设置的语言*/
+ (NSString*)currentLanguage
{
    NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
    NSArray* languages = [defaults objectForKey:@"AppleLanguages"];
    NSString* currentLanguage = [languages objectAtIndex:0];
    return currentLanguage;
}


怎么样来查找key呢?

文档,About the User Defaults System 或者  Locale Concepts,都很值得一看。




1楼wangqiuyun4小时前
顶起