Swiftの略記法
お気に入りのSwiftの略記法を紹介します。
(※ beta 4で動作確認)
enumの型名の省略
enumの値をfuncの引数として渡す場合や、type annotationがついた変数/定数に代入する場合など、
あらかじめenumの型が決まっている場合には、型名を省略できます。
例えば、NSJSONReadingOptions.AllowFragments
は以下のように.AllowFragments
と書くことができます。
NSJSONSerialization.JSONObjectWithData(data,
options: .AllowFragments,
error: &error)
マスクの場合にも型名を省略して並べることができます。
view.autoresizingMask = .FlexibleWidth | .FlexibleHeight
closureの引数の型の省略
enumのケースと同様に、 あらかじめclosureの型が決まっている場合には、引数の型を省略することができます。 それぞれの引数の型は型推論によって知ることができます。
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithRequest(request, completionHandler: { data, response, error in
});
task.resume()
Trailing Closure
funcの最後の引数がclosureとなっている場合、最後の引数のclosureを()
の外にだすことができます。
この記法は好き嫌いがありそうですが、自分は好きです。
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithRequest(request) { data, response, error in
}
task.resume()