我正在使用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中是否有一种方式可以创建真正的单例类,系统范围内只允许存在一个实例?