Update: __Swift 2.x, 3.0 においてもこの記法は有効__です。
Swift 1.2 の改定でプロパティに static
修飾子が付けられるようになりました。
ということは、シングルトンパターンがもっと短く書けます。
今までこう書いていたのが...
class FooController: NSObject {
// singleton in previous Swift
class var sharedController : FooController {
struct Singleton {
static let instance = FooController()
}
return Singleton.instance
}
// ...
}
こうなる...!
class FooController {
// singleton in Swift 1.2+
static let shared = FooController()
// ...
}
たった1行。
final
足して init
をプライベートにするともっとシングルトン的かもね。
final class FooController {
static let shared = FooController()
private init { }
}
コードが短い、ステキー。