swift - 关于单例类中定义的常量

标签 swift singleton

如果我在 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/

相关文章:

swift - 使用 Swift 闭包。递归?

ios - 分析屏幕报告已禁用。不会记录 UIViewController 转换

ios - 无法将数组添加到具有空数组的字典中

java - JProfiler - [n 类] 是什么意思?

c# - 我的 HttpClient 单例实现是否合适?

ios - 动画淡入/淡出标题按钮不起作用

ios - 实现收藏按钮 Swift

swift - 如何在最新的iOS 14中仅在swiftui中舍入 ScrollView 的顶角

android - 只要服务存在,如何持有一个对象?

c++ - 在 Singleton 设计模式的情况下,我们如何使析构函数私有(private)化?