三种Swift实现单例模式的方法:全局变量,内部变量,dispatch_once方式
1. 全局变量
private let _singleton = Singleton() class Singleton: NSObject { class var sharedInstance: Singleton { get { return _singleton } } }
2. 内部变量
class Singleton { class var sharedInstance: Singleton { get { struct SingletonStruct { static let singleton: Singleton = Singleton() } return SingletonStruct.singleton } } }
3. dispatch_once方式
class Singleton { class var sharedInstance: Singleton { get { struct SingletonStruct { static var onceToken:dispatch_once_t = 0 static var singleton: Singleton? = nil } dispatch_once(&SingletonStruct.onceToken,{ () -> Void in SingletonStruct.singleton = Singleton() }) return SingletonStruct.singleton! } } }
以上所述就是本文的全部内容了,希望大家能够喜欢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。