2012-07-04 15 views
0

我難倒,爲什麼這個代碼不工作按下面的評論:NSLocale - 尋找COUNTRYCODE,然後用此來部署代碼

NSString *countryCode = [[NSLocale currentLocale] objectForKey: NSLocaleCountryCode]; 
NSLog(@"Country Code: %@", countryCode); 

if (countryCode == @"US") { 
    NSLog(@"Country is USA"); // Does not execute since the if does not pass 
} 

的語言環境是因此EN_US國家代碼爲美國。在這方面的一切都是正確的。我做錯了什麼,我如何得到「國家是美國」來顯示?

謝謝!

測試在iOS 5.1和6.0,同樣的結果

回答

2

字符串不能使用==操作,請嘗試使用isEqualToString:而不是進行比較:

NSString *countryCode = [[NSLocale currentLocale] objectForKey: NSLocaleCountryCode]; 
NSLog(@"Country Code: %@", countryCode); 

if ([countryCode isEqualToString: @"NL"]) { 
    NSLog(@"Country is NL"); 
} 

使用NL,因爲我在荷蘭是: )

+0

哇,不敢相信我錯過了。謝謝! –

2

您必須使用isEqualToString:方法的內容比較兩個字符串。兩個指針平等==運營商測試,因此返回0