Ios 如何在singleton类中拥有多个实例?

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

Swift中有一个声明为singleton的类。在这个单例类中声明了一个名为A的实例

最初,内存中只有一个实例。 有没有办法让这个类的多个实例成为一个单例类中的实例

一门课

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

}