2016-11-30 9 views
-1

Ich habe dieses Array von anyObject, die ich verwende, um meine heruntergeladenen JSON-Daten zu lesen.Swift überprüfen, ob Array von anyObject Wert

datiArticolo!["anagrafica"]![linguaApp!]!!["img"]!!["path"] 

Das Problem ist, dass ich nicht immer che ["img"] oder/und ["Pfad"] Werte habe. Wie kann ich prüfen, ob es eine andere Aktion gibt oder nicht?

+4

Ahhhh! All diese '!'. Warum? Jeder steht für "crash here". – rmaddy

+0

swift sag mir, dass ich sie setzen soll – WillyWon

+0

Nein, Xcode hat dir gesagt, du sollst sie reinlegen. Xcode ist böse und es hat dich angelogen. Es möchte, dass deine App abstürzt, sodass du mehr Zeit damit verbringen kannst. Bitte verbringe Zeit damit, über Optionale in Swift zu lernen. – rmaddy

Antwort

0

Sie möchten im Allgemeinen alle Zwangsauszüge überprüfen, um Abstürze zu vermeiden, damit Sie dieses Muster in der Kette fortsetzen. Sehen Sie mehr über optional chaining.

if let img = datiArticolo!["anagrafica"]![linguaApp!]!!["img"], path = img["path"] { 
// do something with `path` 
} 
+0

Dieser Code ist sehr, sehr gefährlich '! ' –

+0

Ich stimme zu, deshalb habe ich gesagt, dass dieses Muster die Kette weiterführt –

Verwandte Themen