三种方法实现单例模式,线程安全
1. 全局变量
2. 结构
3. dispatch_once
这里使用了全局变量而非类变量,是因为不支持类变量
private let _SingletonSharedInstance = Singleton()class Singleton { class var sharedInstance : Singleton { return _SingletonSharedInstance }}2.结构:
与类不同,结构可以定义静态变量,通过使用此方法,将静态变量升级为类变量(在支持类变量之前,推荐此方法)
class Singleton { class var sharedInstance : Singleton { struct Static { static let instance : Singleton = Singleton() } return Static.instance }}3.dispatch_once:
class Singleton { class var sharedInstance : Singleton { struct Static { static var oncetoken : dispatch_once_t = 0 static var instance : Singleton? = nil } dispatch_once(&Static.oncetoken) { Static.instance = Singleton() } return Static.instance! }}总结
以上是内存溢出为你收集整理的Swift中的单例模式全部内容,希望文章能够帮你解决Swift中的单例模式所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)