我有一个框架,我有一个单例类,让我们说Singleton。该类由框架中的其他类使用。
在app项目中,我想要将这个单例类子类化,例如AppSingleton:Singleton。可能吗?什么是正确的解决方案?
答案 0 :(得分:0)
我提供了一个解决方案,但可能有点不客气。
Class A {
open class var shared: A {
return A.privateShared
}
private static let privateShared = A()
}
Class B {
open class var shared: B {
return A.privateShared
}
private static let privateShared = B()
}
我必须澄清,这种方法并不完美,因为它实际上创建了2个实例!因此,从技术上讲,它将不再是singleton
。
但是,您可以覆盖类B的属性或方法来调用A.shared方法或属性。您必须知道自己在做什么,并考虑使用其他方法来解决您要解决的问题。