<分区>
我正在 Swift 中创建一个单例类,如下所示:
class SingletonClass {
class var sharedInstance: SingletonClass {
struct Singleton {
static let instance = SingletonClass()
}
return Singleton.instance
}
var a: Int?
var b: Int?
var c: Int?
}
这允许我从任何地方访问共享实例:
SingletonClass.sharedInstance
虽然这可行,但它并没有使这个实例成为整个系统中唯一可能的实例,这就是单例的全部意义所在。
这意味着我仍然可以创建一个全新的实例,如下所示:
let DifferentInstance: SingletonClass = SingletonClass()
并且共享实例不再是唯一的。
所以我的问题是:在 Swift 中有没有一种方法可以创建一个真正的单例类,在这个类中,系统范围内只有一个实例是可能的?