【问题标题】:what is the difference between [NSLocale preferredLanguages] and [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"]?[NSLocale preferredLanguages] 和 [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"] 有什么区别?
【发布时间】:2011-12-13 21:57:03
【问题描述】:

[NSLocale preferredLanguages][[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"] 有什么区别?

  1. 我对 Apple 文档描述感到困惑,无法理解清楚,谁能告诉我它们的区别?因为我从他们那里得到了相同的数据。
  2. 我们应该在不同的情况下使用哪一个?

【问题讨论】:

    标签: objective-c xcode cocoa


    【解决方案1】:

    两者都是为了返回相同的东西,第一个更方便。

    Apple Documentation 说:对于[[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"]

    返回的数组包含按用户首选顺序与 AppleLanguages 键关联的语言。

    Apple Documentation 说:对于[NSLocale preferredLanguages]

    用户的语言偏好顺序为 NSString 对象数组,

    【讨论】:

    • 我们应该在不同的情况下使用哪一个?
    • 如果这两个都像我的情况一样返回 nil 怎么办?
    【解决方案2】:

    您应该使用[NSLocale preferredLanguages],如果您支持Mac OS X 10.4 或更早版本,请使用[[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-21
      相关资源
      最近更新 更多