Overview 概要
You use singletons to provide a globally accessible, shared instance of a class. You can create your own singletons as a way to provide a unified access point to a resource or service that’s shared across an app, like an audio channel to play sound effects or a network manager to make HTTP requests. あなたはシングルトンを使って、グローバルにアクセス可能な、あるクラスの共有インスタンスを提供します。あなたは、サウンドエフェクトを再生するオーディオチャンネルやHTTPリクエストを行うネットワークマネージャのような、あるアプリ全体で共有されるリソースやサービスへの一本化されたアクセスポイントを提供する方法として、あなた自身のシングルトンを作成します。
Create a Singleton シングルトンの作成
You create simple singletons using a static type property, which is guaranteed to be lazily initialized only once, even when accessed across multiple threads simultaneously: あなたは単純なシングルトンをstatic型プロパティを使って作成できます、それはただ一度だけ遅延初期化されることを保証されます、たとえ複数のスレッドから同時にアクセスされる場合でさえもです:
If you need to perform additional setup beyond initialization, you can assign the result of the invocation of a closure to the global constant: あなたが追加的な準備を初期化が済んだら実行する必要があるならば、あなたはあるクロージャの発動の結果をグローバル定数に割り当てることができます: