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

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

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

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

如果假设,这列表是以数组的形式保存,则第一项就是当前选定的语言,即当前语言在数组中的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,都很值得一看。

iphone获取当前系统的语言相关推荐

  1. Flutter 获取ios系统默认语言,只能获取到英文

    解决方案: 1.在测试的iphone中的设置->语言和地区,设置为中文和中国大陆 2.在Xcode中设置Runner项目中的info->localizations,添加中文 3.运行 fl ...

  2. [Swift]获取手机系统当前使用的语言和地区

    获取设备系统语言 /// 获取系统当前语言 static func getCurrentLanguage() -> String {// 返回设备曾使用过的语言列表let languages: ...

  3. c语言编程获取当前系统时间包含年,月,日,时,分,秒.,C语言获取系统时间的几种方式...

    核心提示:C语言中如何获取时间?精度如何?1使用time_ttime(time_t*timer)精确到秒2使用clock_tclock()得到的是CPU时间精确到1/CLOCKS_PER_SEC秒3计 ...

  4. 获取当前系统时间c语言,使用C语言获取当前系统的时间

    要想使用C语言来获取当前系统的时间,办法如下: 需要提前准备的工作: 1 #include 2 #include 3 #include 4 5 intmain()6 {7 time_t rawtime ...

  5. android 获取当前系统选择的语言

    获取当前系统选择的语言的Java代码: Locale currentLocale = Locale.getDefault(); String currentLanguage = currentLoca ...

  6. ios 取设备语言_iOS获取当前系统语言

    iOS获取当前系统语言 东东 • 2017 年 05 月 16 日 一.获取地区标识// 比如Loacl是en_Zh NSString *identifier = [[NSLocale current ...

  7. Android 获取当前系统语言和切换系统语言

    最近有需求需要切换系统语言的功能,查阅api最终搞定,代码分享如下: 1.切换语言 public void updateLanguage(Locale locale) {try {Object obj ...

  8. C 语言中获取系统时间的函数,C/C++如何获取当前系统时间的实例详解

    C/C++如何获取当前系统时间的实例详解 C库中与系统时间相关的函数定义在头文件中, C++定义在头文件中. 一.time(time_t*)函数 函数定义如下: time_t time (time_t ...

  9. 【Android NDK 开发】在 C 代码中获取 Android 系统信息 ( NDK 项目创建 | NDK 配置 | 获取 Android 系统版本号 )

    文章目录 I . 创建 NDK 项目 II . NDK 项目 相关配置 III . NDK 中获取 Android 版本号 IV . 使用 __system_property_get 可获取的参数 I ...

最新文章

  1. linux shell脚本 判断,Shell脚本中的逻辑判断
  2. dobbo 管理端端口_安装 Dubbo 管理控制台
  3. Jmeter之逻辑控制器操作
  4. 访问数组元素进行赋值
  5. 美团杯2020 - 半前缀计数(后缀自动机)
  6. Android笔记(三十六) AsyncTask是如何执行的?
  7. gis属性表怎么导成excel_将Excel数据导入到ArcGIS属性表
  8. JVM 内存管理、自带性能监测调优工具 (jstack、jstat)及 JVM GC 调优
  9. css免费网站,5个免费网站模板|免费CSS模板网站汇总
  10. 关于Access2003的安装和下载
  11. 计算机高级职称答辩ppt,专业技术职务任职资格评审答辩工程系列高级工程师PPT.pptx...
  12. 在局域网内互传文件的方法
  13. namecheap namesilo 域名需要备案吗
  14. 自学Python之后如果不去公司上班,自己可以通过此技能挣什么钱?
  15. 广东省电子商务认证有限公司
  16. STM32F103定时器详解
  17. 2019长三角科技金融峰会召开 链塔CEO张翔分享区块链应用前景
  18. 王道学习笔记,计算机网络
  19. 管理系统中计算机应用实践大纲,管理系统中计算机应用实践技能考核大纲及操作指导...
  20. 【手把手带你Godot游戏开发】出道即巅峰,先做个盈利千万的小项目

热门文章

  1. 阿里Redis最全面试全攻略,读完这个就可以和阿里面试官好好聊聊
  2. 计算机各部件的名称和作用
  3. [Day2]计量经济学之ARDL模型
  4. 苹果手机小圆点怎么设置?一招搞定!
  5. 怎么设置苹果手机的小圆点_苹果手机拍照如何设置JPG格式-苹果手机拍照设置JPG格式的方法...
  6. 微信分享显示“未验证应用”问题(辅助标签:Universal Link)
  7. iPhone/iPad忘记密码、已停用,怎么解锁?
  8. iOS怎样将 URL转换成String
  9. 前端实现数组转字符串
  10. Windows下MPI启动