LoginSignup
7
6

More than 5 years have passed since last update.

[Swift]シングルトンとは?

Last updated at Posted at 2017-08-23

シングルトンとは?

クラスが一つのインスタンスしか持てないデザインパターンの一つです。
インスタンスがグローバルに使えるので、初期化のプロセスがないのが便利。Singletonは初期化が一回しかいらない時などによく使う:データベースコネクター、ログインハンドラーなど。

class SomeManager {
    static let shared = SomeManager()
    private init() {}
}

//With usage:
SomeManager.shared

メモ書き:この記事によると、初期化にprivateにすると、シングルトンの唯一性が保証されるみたいです。さらには、コンストラクタを作るとエラーを出してくれるのでこれも便利。

シングルトンのデメリット

インスタンスをパスしたくないから、という理由でシングルトンを作るのは、バッドプロクティスらしいです。なぜなら、初期化がクラスに依存しているのでテストし辛いからです。

7
6
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6