什么是單例
單例模式是設計模式中最簡單的一種,甚至有些模式大師都不稱其為模式,稱其為一種實現技巧,因為設計模式講究對象之間的關系的抽象,而單例模式只有自己一個對象。
單例模式(Singleton Pattern),也叫單子模式,是一種常用的軟件設計模式。 在應用這個模式時,單例對象的類必須保證只有一個實例存在。
單實例Singleton設計模式可能是被討論和使用的最廣泛的一個設計模式了,這可能也是面試中問得最多的一個設計模式了。這個設計模式主要目的是想在整個系統中只能出現一個類的實例。這樣做當然是有必然的,比如你的軟件的全局配置信息,或者是一個Factory,或是一個主控類,等等。
如何在 swift/37122.html">swift/209472.html">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()
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。
參考自: What Is a Singleton and How To Create One In Swift
新聞熱點
疑難解答