这次给大家带来在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()
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
iview中on-change属性如何使用
vue项目中怎么使用sass配置
以上就是swift中定义单例的方法实例的详细内容。