[Swith]モノトーンモード

1897 ワード

単色クラスが返すインスタンスは、アプリケーションが要求した回数と同じです.通常のクラスでは、呼び出し元は任意の数のクラスインスタンスを作成できますが、単色クラスでは프로세스당 클래스의 인스턴스가 하나しかありません.単一のトーンオブジェクトは、クラスリソースのグローバルアクセスポイントを提供します.この단일 제어 지점이 필요한 상황에서 사용は単一の色調であり、一般的なサービスまたはリソースを提供するクラスと同じである.

モノトーンの作成

class UserInfo {
    var name: String?
    var age: String?
    
    static let shared: UserInfo = UserInfo()
    
    private init() { }
}
  • 構造体ではなくクラスを使用する理由は、1つのインスタンスで情報を管理するためである.
  • は、init()privateと宣言し、他の場所でインスタンスが作成されないようにします.異常がある可能性がある
  • このクラスのインスタンスに外部からアクセスするには、次のようにします.
    let sharedUserInfo = UserInfo.shared