【问题标题】: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"] 有什么区别?
- 我对 Apple 文档描述感到困惑,无法理解清楚,谁能告诉我它们的区别?因为我从他们那里得到了相同的数据。
- 我们应该在不同的情况下使用哪一个?
【问题讨论】:
标签:
objective-c
xcode
cocoa
【解决方案1】:
两者都是为了返回相同的东西,第一个更方便。
Apple Documentation 说:对于[[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"]
返回的数组包含按用户首选顺序与 AppleLanguages 键关联的语言。
Apple Documentation 说:对于[NSLocale preferredLanguages]
用户的语言偏好顺序为 NSString 对象数组,
【解决方案2】:
您应该使用[NSLocale preferredLanguages],如果您支持Mac OS X 10.4 或更早版本,请使用[[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"]。