SwiftのOptionalにはmapがある. func map<U>(f: T -> U) -> U? 引数のfはT(Optionalで包まれいる値)を受け取ってUを返す関数を受け取って,fの返り値であるUをOptionalで包んだU?を返す関数です. 要は,if-letを使って明示的にunwrapしなくてもOptionalの構造を保ったまま中の値に関数を適用するための関数ということですね. このmapですが,Optionalな値を返す関数と使ってみると案外使いにくいことがわかります. let URL: NSURL? = NSURL(string: "http://yashigani.hatenablog.com") if let URLString = URL.map({ $0.absoluteString }) { // URLStringはString型を期待 println(UR