如果我在 Swift 4 中定义一个单例:
public class MySingleton {
static let shared = MySingleton()
}
调用者可以通过MySingleton.shared
访问单例实例。
如果我在 MySingleton
中添加常量字段 school
:
public class MySingleton {
static let shared = MySingleton()
let school = School()
}
调用者可以通过MySingleton.shared.school
访问学校。如果所有调用者都通过这种方式访问 school
,我的 iOS 应用程序中将只有一个 School
实例,我这样说对吗?
最佳答案
Am I right that if all callers access school by this way, there would be only one instance of School in my iOS application?
理论上,也许吧。事实上,也许不是。问题是 school
是一个实例属性。您说调用者可以说MySingleton.shared.school
- 但问题是,他们可能不会。他们也可以说MySingleton().school
。如果他们这样做,每个说这句话的人都会有一个不同的 School 实例。
关于swift - 关于单例类中定义的常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52597720/