1.线程安全的懒初始化
class SingletonA { static let sharedInstance = SingletonA() init() { println("AAA"); } }
2.在这里,我们使用一个嵌套的结构静定为类常量。
class SingletonB {
class var sharedInstance: SingletonB { struct Static { static let instance: SingletonB = SingletonB() } return Static.instance } }
- oc 转 swift的早期初始化方法
class SingletonC {
class var sharedInstance: SingletonC {
struct Static {
static var onceToken: dispatch_once_t = 0
static var instance: SingletonC? = nil
}
dispatch_once(&Static.onceToken) {
Static.instance = SingletonC()
}
return Static.instance!
} }