2016-07-29 3 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)") 
     } 

Функция печати никогда не будет выполнена. Однако, если я удалю, если let, я могу получить countryCode, но не aValue, он всегда будет возвращать nil. Как это исправить?swift словарь возвращается nil

ответ

3

Вы смешиваете ключ и объект, сделать это вместо:

if let aValue = dictionary[NSLocaleCountryCode] { 

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

вау, спасибо. Я не использую словари initObjectForKey. Полагаю, мой урок выучил. – Suhaib

Смежные вопросы