[NSLocale preferredLanguages]和[[NSUserDefaults standardUserDefaults] objectForKey:@“AppleLanguages”之间有什么区别?

时间:2011-10-24 07:15:50

标签: objective-c xcode cocoa

[NSLocale preferredLanguages][[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"]之间的区别是什么?

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

2 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:3)

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

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

  

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

Apple Documentation说:[NSLocale preferredLanguages]

  

用户的语言首选项顺序为NSString对象数组,