這次帶給大家在Swift中怎麼定義單例,在Swift中定義單例的注意事項有哪些,下面就是實戰案例,一起來看一下。
# 什麼是單例
# 單例模式是設計模式中最簡單的一種,甚至有些模式大師都不稱其為模式,稱其為一種實現技巧,因為設計模式講究對象之間的關係的抽象,而單例模式只有自己一個物件。
單例模式(Singleton Pattern),也叫單子模式,是常用的軟體設計模式。 在應用這個模式時,單例物件的類別必須保證只有一個實例存在。
單一實例Singleton設計模式可能是被討論和使用的最廣泛的一個設計模式了,這可能也是面試中問得最多的一個設計模式了。這個設計模式主要目的是想在整個系統中只能出現一個類別的實例。這樣做當然是有必然的,例如你的軟體的全域配置訊息,或是一個Factory,或是一個主控類,等等。
如何在 swift 中建立單例
在 swift 中有以下這兩種方式可以建立單例
全域變數的方式
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中文網其它相關文章!
推薦閱讀:
以上是Swift中定義單例的方法實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!