2016-11-27 6 views
0

Ich hole Daten von einer Wetter-API. Ich bin mir nicht sicher, wie ich auf die Beschreibung zugreifen soll.Swift 3: Iterate durch ein _NSSingleObjectArrayI

"weather": <__NSSingleObjectArrayI 0x608000012910>(
{ 
    description = "overcast clouds"; 
    icon = 04n; 
    id = 804; 
    main = Clouds; 
} 
) 

Ich habe versucht:

print(weatherDict["weather"]!.description!) 

Es gab mir nur das:

(
    { 
    description = "overcast clouds"; 
    icon = 04n; 
    id = 804; 
    main = Clouds; 
    } 
) 

Wie richtig ich die Beschreibung zugreifen?

Antwort

4
  • weather enthält eine Reihe von Wörterbüchern.
  • description ist ein Schlüssel im ersten Element des Arrays.

Der Code auspackt weather sicher und prüft, ob das Array nicht leer ist:

if let weather = weatherDict["weather"] as? [[String:Any]], !weather.isEmpty { 
    print(weather[0]["description"]) // the value is an optional. 
}