今回は、Swiftでシングルトンを定義する方法と、Swiftでシングルトンを定義する際の注意事項を紹介します。実際のケースを見てみましょう。
シングルトンとは
シングルトンパターンは、デザインパターンの中で最も単純なものであり、パターンマスターでもそれをパターンとは呼ばず、実装技術と呼んでいます。デザインパターンはオブジェクト間の関係の抽象化に注意を払っているためです。 singleton サンプル パターンには、独自のオブジェクトが 1 つだけあります。
シングルトン パターンはモナド パターンとも呼ばれ、一般的に使用されるソフトウェア設計パターンです。 このパターンを適用する場合、シングルトン オブジェクトのクラスは、インスタンスが 1 つだけ存在することを保証する必要があります。
単一インスタンスの Singleton 設計パターンは、最も広く議論され使用されている設計パターンであり、面接で最も頻繁に質問される設計パターンでもあります。この設計パターンの主な目的は、システム全体で 1 つのクラスのインスタンスが 1 つだけ表示されるようにすることです。もちろん、これはソフトウェア、ファクトリー、メイン コントロール クラスなどのグローバル構成情報のように必要です。
Swiftでシングルトンを作成する方法
Swift でシングルトンを作成するには 2 つの方法があります
グローバル変数のやり方
let sharedNetworkManager = NetworkManager(baseURL: API.baseURL) class NetworkManager { // MARK: - Properties let baseURL: URL // Initialization init(baseURL: URL) { self.baseURL = baseURL } }
このグローバル変数を参照
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { print(sharedNetworkManager) return true }
に使用します 静的プロパティとプライベート化されたコンストラクターメソッドメソッド
class NetworkManager { // MARK: - Properties private static var sharedNetworkManager: NetworkManager = { let networkManager = NetworkManager(baseURL: API.baseURL) // Configuration // ... return networkManager }() // MARK: - let baseURL: URL // Initialization private init(baseURL: URL) { self.baseURL = baseURL } // MARK: - Accessors class func shared() -> NetworkManager { return sharedNetworkManager } }
参照用にクラス メソッドを直接呼び出します
NetworkManager.shared()
この記事の事例を読んだ後はメソッドを習得したと思います。さらに興味深い情報については、PHP 中国語 Web サイトの他の関連記事に注目してください。
推奨読書:
以上がSwift でシングルトンを定義するためのメソッド インスタンスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。