你可以得到一個國家代碼的標識符與localeIdentifierFromComponents:
,然後獲取其displayName
。
所以要創建國家名稱的數組,你可以這樣做:
NSMutableArray *countries = [NSMutableArray arrayWithCapacity: [[NSLocale ISOCountryCodes] count]];
for (NSString *countryCode in [NSLocale ISOCountryCodes])
{
NSString *identifier = [NSLocale localeIdentifierFromComponents: [NSDictionary dictionaryWithObject: countryCode forKey: NSLocaleCountryCode]];
NSString *country = [[NSLocale currentLocale] displayNameForKey: NSLocaleIdentifier value: identifier];
[countries addObject: country];
}
要按字母順序排序它,你可以添加
NSArray *sortedCountries = [countries sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
注意數組排序是不可改變的。
來源
2011-11-11 17:57:12
Jef
對不起,這是類型的NSMutableArray的; – user1036183
接受一些答案(關於您之前的問題),以便您回饋社區。 – Jef