Ios 单重重叠?
我有两个类使用as singletonIos 单重重叠?,ios,swift,singleton,Ios,Swift,Singleton,我有两个类使用as 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 : Strin
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\u sharedInstance
和boss\u sharedInstance
)之后,一切正常。这很奇怪。谁能给我解释一下为什么会这样。提前谢谢
这里是断点。虽然Job.sharedInstance
没有用户id、用户名等,
,但它正在显示
您的代码没有问题。
Boss
和Job
有一个静态let sharedInstance
属性,它们是
完全相互独立。不同类别
可以具有同名的静态属性,
而这些并不“重叠”
如果调试器显示Job.sharedInstance的属性
在作业
类中甚至没有定义,那么这就是
调试器视图中的错误
如有疑问,请在代码中添加
print
语句。您能否提供一个(简短)完整的示例来说明问题?您所说的“Job.sharedInstance还包含上司的类变量”到底是什么意思?@MartinR请检查我编辑的问题。我放了一个截图。这是调试器视图中的一个bug。当有疑问时,打印值或在调试器控制台中检查它们。@MartinR哦,是的,这是真的。奇怪的是,如果我更改sharedInstance
的名称,它也会更正调试器视图。