Ios 如何在singleton类中拥有多个实例?
Swift中有一个声明为singleton的类。在这个单例类中声明了一个名为A的实例 最初,内存中只有一个实例。 有没有办法让这个类的多个实例成为一个单例类中的实例 一门课Ios 如何在singleton类中拥有多个实例?,ios,swift,singleton,Ios,Swift,Singleton,Swift中有一个声明为singleton的类。在这个单例类中声明了一个名为A的实例 最初,内存中只有一个实例。 有没有办法让这个类的多个实例成为一个单例类中的实例 一门课 protocol ADelegate{ func onSuccess() func onFail() } // I want to create multiple instances of this class A{ var delegate: ADelegate! // ... f
protocol ADelegate{
func onSuccess()
func onFail()
}
// I want to create multiple instances of this
class A{
var delegate: ADelegate!
// ...
func requestCallback(){
//...
// success response
delegate.onSuccess()
}
}
单例类(主)
如果您想在内存中创建类A的多个实例,那么它将不会被称为singleton类。这将与singleton的设计模式概念相矛盾。如果您想要一个类的多个实例,那么将该类设置为普通类。但是singleton类只能有一个实例。请添加一些代码。您所说的“此实例的多个实例”是什么意思?您只能有一个实例(或者一个指向现有实例的指针)。你是说A型的多个实例吗?一个单例可以有一个类的多个实例(只要该类本身不是单例)。“您是说类型A的多个实例吗?”->是。单身汉没有办法吗?
class ModuleA: ADelegate{
var aInstance = A(delegate: self)
func req(){
aInstance.requestCallback()
}
func onSuccess(){
// ModuleA do something
}
func onFail(){
}
}
class ModuleB: ADelegate{
var aInstance = A(delegate: self)
// ModuleB do something
}
class Main{
static var shared = Main()
// Using ModuleA, ModuleB
}