ホームページ  >  記事  >  ウェブフロントエンド  >  Swift でシングルトンを定義するためのメソッド インスタンス

Swift でシングルトンを定義するためのメソッド インスタンス

php中世界最好的语言
php中世界最好的语言オリジナル
2018-04-11 14:09:451585ブラウズ

今回は、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 サイトの他の関連記事に注目してください。

推奨読書:

IView で on-change 属性を使用する方法

vue プロジェクトで Sass 構成を使用する方法

以上がSwift でシングルトンを定義するためのメソッド インスタンスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。