【发布时间】:2018-11-17 00:00:52
【问题描述】:
我有一个超类 A 和一个子类 B。它们都是 ViewControllers。代码如下:
class A {
var a : Bool = false
}
class B : A {
var b : Int = 10
func changeB() {
b = 20
}
}
所以,A 类中有一个变量 a。每当它改变时,它应该改变 B 类的变量 b,即它应该调用一个方法 changeB() 来更新 b。
实现此目的的一种方法是使用事件调用方法 changeB(),该方法将更新 b。
还有其他方法可以达到同样的效果吗?
这只是一个模板供其他人理解。实际问题是 - A 类由地图视图和列表视图组成,它处理两个视图之间的切换。 B 类继承 A 并在视图顶部有按钮,该按钮应仅在列表视图中显示,而不是在地图视图中显示。
所以,当视图在列表视图和地图视图之间切换时,我想更改 button.isVisible 属性,该属性在 B 类 中处理,在 中处理>A 类。
【问题讨论】:
标签: ios swift inheritance subclass superclass