ios - 如何在单例类中有多个实例?
问题描述
在 Swift 中有一个声明为单例的类。在这个单例类中声明了一个名为 A 的实例。
最初,内存中只有这个 A 的一个实例。有没有办法在单例类中创建这个 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()
}
}
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
}
解决方案
如果你想在内存中创建类 A 的多个实例,那么它不会被称为单例类。这将与单例的设计模式概念相矛盾。如果您想要 A 的多个实例,则将该类设为普通类。但是单例类只能有一个实例。
推荐阅读
- javascript - setTimeout() 和函数范围
- sql - PostgreSQL 函数的结果集参数
- github - 如何提取 GitHub 市场上每个应用的安装数量?
- bootstrap-4 - 左侧的图标和右侧的按钮
- node.js - nodejs express验证器单独文件问题
- sql - SQL总和在一个时间间隔/行
- java - Spring MVC @Controller 的处理程序方法的参数如何在运行时自动解析?
- java - Spring Boot - PostMapping 不起作用
- firebase - 订阅流并在颤振飞镖中转发
- javascript - 如何在php中执行javascript代码?