2016-07-29 80 views
-2
let countryCodes = NSLocale.ISOCountryCodes() 

for countryCode in countryCodes { 
    let dictionary = NSDictionary(object: countryCode, forKey: NSLocaleCountryCode) 

    if let aValue = dictionary[countryCode] { 
     print("country code of \(countryCode) is \(aValue)") 
     } 

打印功能從未得到執行。但是,如果我刪除了if let,我可以得到countryCode而不是aValue,它總是會返回nil。 我該如何解決這個問題?swift dictionary is returning nil

回答

3

你是混合鍵和對象,這樣做,而不是:

if let aValue = dictionary[NSLocaleCountryCode] { 

      print("country code of \(countryCode) is \(aValue)") 
     } 
+1

哇,謝謝。我不習慣initObjectForKey字典。我想我的教訓。 – Suhaib