在swift中有两种方法可以实现单例模式。
一、使用dispatch_once ,代码如下:
class Singleton: NSObject {
static var once_t : dispatch_once_t = 0
static var instance : Singleton?
class func sharedObject() -> Singleton{
dispatch_once(&once_t) { () -> Void in
instance = Singleton()
}
return instance!
}
}
二、利用let只能赋值一次的特性
- 说明:switf保证赋值的多线程安全性
- 代码如下:
class SingletonEx:NSObject{
static let instance = SingletonEx()
class func sharedObject() -> SingletonEx{
return instance
}
}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。