【发布时间】:2016-12-12 15:39:28
【问题描述】:
我有一个超类,它有一个布尔变量,我想在子类之间共享它(通过引用传递它)
Class parentClass: UIViewController {
var sharedVariable: Bool = false
}
Class firstChild: parentClass {
@IBAction func myButtonTouched(_ sender: Any) {
sharedVariable = true
}
}
Class secondChild: parentClass {
print(sharedVariable)
}
但是当我在 firstClass 中更改 sharedVariable 时,它不会为 secondClass 更改它。
如果有任何帮助,我将不胜感激
【问题讨论】:
-
这里显示的代码甚至不会编译,所以没有人可以验证你的问题,也不清楚问题是什么,因为这里的代码没有重现它(特别是因为它会永远不要调用
myButtonTouched,即使它确实编译了,它不会)。我只能猜测您的意思是sharedVariable只是一个变量,而不是每个实例都有一个单独的变量,在这种情况下,您可以将static放在其声明前面并访问parentClass.sharedVariable。 -
您需要展示如何创建这些类的实例,并清楚地说明属性如何更新以及值如何与您的预期不符。
标签: swift inheritance