Swift 中的单例
第一种:
class Singleton {
let name: String
init(name: String) {
self.name = name
}
}
let singleton = Singleton(name: "iOSCaff")
singleton.name
第二种:
class Singleton {
static let instance = Singleton(name: "iOSCaff")
let name: String
private init(name: String) {
self.name = name
}
}
Singleton.instance.name
第三种:
class Singleton {
private static let instanceManager: Singleton = {
let shared = Singleton(name: "iOSCaff")
/// do something...
return shared
}()
let name: String
private init(name: String) {
self.name = name
}
class func instance() -> Singleton {
return instanceManager
}
}
Singleton.instance().name