单例重叠?

多云的

我有两个类用作单例。

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的类变量。但是在分别用sharedInstance其他名称(例如job_sharedInstanceboss_sharedInstance替换之后,一切正常。这很奇怪。谁能解释我为什么会这样发生。提前致谢。

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

在此处输入图片说明

马丁·R

您的代码没有问题。双方BossJob拥有static let sharedInstance财产,这些都是完全相互独立的。不同的类可以具有相同名称的静态属性,并且这些属性不会“重叠”。

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章