Singleton Overlaps?

时间:2015-12-30 08:37:22

标签: ios swift singleton

我有两个班级用作单身人士。

class Boss {
    static let sharedInstance = Boss()
    private init() {} 

    var user_id : String?
    var username : String?
}



class Job {
    static let sharedInstance = Job()
    private init() {} 

    var job_id : String?
    var JobType : String?
}

但是首先填充Boss.sharedInstance后,Job.sharedInstance还包含Boss'类变量。但在分别用其他名称(例如sharedInstancejob_sharedInstance)替换boss_sharedInstance之后,情况正常。这很奇怪。任何人都可以解释为什么会这样发生的原因。提前谢谢。

这是断点。虽然Job.sharedInstance没有user_id, username, etc...,但它正在显示。

enter image description here

1 个答案:

答案 0 :(得分:2)

您的代码没有问题。 BossJob 有一个static let sharedInstance属性,这些属性 完全相互独立。不同的班级 可以具有相同名称的静态属性, 这些不会重叠"。

如果调试器显示Job.sharedInstance的属性 甚至没有在Job类中定义,这是 调试器视图中的 bug

如有疑问,请在代码中添加print语句。