2011-08-09 42 views
3

我正在使用NSLocale来确定我目前的国家,然后将其作为参数传递给我的网络服务,但我无法通过此测试其他国家(如非洲等)。 有没有办法测试这个? 我这样做是为了得到国家名称:如何测试NSLocale返回值?

NSLocale *locale = [NSLocale currentLocale]; 
    NSString *countryCode = [locale objectForKey: NSLocaleCountryCode]; 
    NSString *countryName = [locale displayNameForKey: NSLocaleCountryCode value: countryCode]; 

感谢,

+4

“非洲”不是一个国家... –

回答

2

NSLocale class reference

[NSLocale availableLocaleIdentifiers]返回语言环境中的设备理解的字符串的一个NSArray。其中的每一个都可以传递给[[NSLocale alloc] initWithLocaleIdentifier:aString]给你一个用来测试的语言环境。

+0

好吧,我知道了我的另一个问题是,如果用户在印度,无论发生什么事情,这都会使印度成为印度国家。因为我想要做的就是通过用户所在的国家名(他也可以是旅行者) – Ashutosh

+0

这是一个单独的问题 - 如果我的回答是正确的,请标记它并创建一个新的 – Mark

+0

NSLocale存储有关界面语言和指标。它与反向地理编码没有任何共同之处,您应该使用它来准确找到用户的位置。 –