Existe uma maneira melhor de lidar com a "pirâmide da desgraça" aninhada de Swift?
Existe uma maneira melhor de lidar com uma cadeia de propriedades opcionais do que aninhadasse deixar afirmações? Fui aconselhado a usar if lets ao examinar propriedades opcionais, o que faz sentido, pois lida com elas no tempo de compilação, em vez de no tempo de execução, mas parece loucura total! Existe uma maneira melhor?
Aqui está a atual "pirâmide da desgraça" com a qual acabei, como um exemplo:
( 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 )
}
}
}
Pós-script
A resposta do Airspeed Velocity abaixo é a resposta certa, mas você precisará do Swift 1.2 para usar vários lets separados por vírgulas, como ele sugere, que atualmente só é executado no XCode 6.3, que está na versão beta.