※ Swiftバージョン1.2の頃の話なのでコメント欄もご参照ください Whereを使ったときのelseの条件 Swift1.2からif文でwhereが使えるようになりました。 これによってネストせずにOptionalな変数をアンラップしてから中身を判定することができます。 ただ、その場合にelse句はアンラップして中身がなかった場合なのか、whereの判定がfalseになったからなのか疑問だったので調べてみました。 func test(token: String?) { if let t = token where t.isEmpty { println("token is empty") } else { println("token is nil or not empty") } } // 結果 test("") // -> token is empty test("xxx") //