【发布时间】:2021-08-18 21:57:00
【问题描述】:
如何在 Swift 中处理具有主类类型但传递给子类实例的变量?
这是一段示例代码:
class MainClass {
var name: String
init(name: String) {
self.name = name
}
}
class Num1: MainClass {
var num: Int = 1
}
class Num2: MainClass {
var num: Int = 2
}
struct ExampleView: View {
var subClassInstance: MainClass
var body: some View {
Text(subClassInstance.name)
Text(subClassInstance.num) // trying to access this property
}
}
let example = ExampleView(subClassInstance: Num1(name: "test"))
具体来说,我希望能够从具有主类类型的变量访问子类属性。在我的示例的上下文中,我希望能够从具有 MainClass 类型的视图中的变量访问传递的子类实例的“num”属性。这可能吗?这样做的动机是让一个视图与一个主类的类似子类一起工作——不必编写两个视图,一个将变量设置为每个子类的类型。
【问题讨论】:
标签: swift inheritance subclassing