Gibt es eine bessere Möglichkeit, mit Swifts verschachteltem "wenn lassen" "Pyramide des Schicksals" umzugehen?

Gibt es eine bessere Möglichkeit, mit einer Kette von optionalen Eigenschaften umzugehen, als mit verschachteltenwenn let Anweisungen? Mir wurde geraten, if lets zu verwenden, wenn ich optionale Eigenschaften untersuche. Dies ist sinnvoll, da sie zur Kompilierungszeit und nicht zur Laufzeit ausgeführt werden, aber es sieht nach völligem Wahnsinn aus! Gibt es einen besseren Weg?

Hier ist die aktuelle "Pyramide des Schicksals", mit der ich als Beispiel fertig geworden bin:

( users: [ JSONValue ]? ) in

if let jsonValue: JSONValue = users?[ 0 ]
{
    if let json: Dictionary< String, JSONValue > = jsonValue.object
    {
        if let userIDValue: JSONValue = json[ "id" ]
        {
            let userID: String = String( Int( userIDValue.double! ) )
            println( userID )
        }
    }
}

Nachsat

Airspeed Velocitys Antwort unten ist die richtige Antwort, aber Sie benötigen Swift 1.2, um mehrere durch Kommas getrennte Zeichen zu verwenden, wie er vorschlägt, was derzeit nur in XCode 6.3 ausgeführt wird, das sich in der Beta befindet.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage