Swift 如何通过基类获取子类中的一些参数
我卡住了。 我试图使代码的架构师正确,但我无法解决以下情况: 我有一些基类并继承自它的类,如:Swift 如何通过基类获取子类中的一些参数,swift,class,inheritance,swift3,Swift,Class,Inheritance,Swift3,我卡住了。 我试图使代码的架构师正确,但我无法解决以下情况: 我有一些基类并继承自它的类,如: class BaseClass { var name: String init(name: String) { self.name = name } } class ChildClass: BaseClass { var otherName: String init(otherName: String) { self.otherName = ot
class BaseClass {
var name: String
init(name: String) {
self.name = name
}
}
class ChildClass: BaseClass {
var otherName: String
init(otherName: String) {
self.otherName = otherName
}
}
以及以下功能:
func someFunc() -> BaseClass {
let a = ChildClass.init(otherName: "NAME")
return a
}
如何获取参数“otherName”?
可用参数只有一个“name”,但我想得到“otherName”:
您可以使用:
(b as! ChildClass).otherName
函数将对象返回为
BaseClass
对象,因此不能访问任何ChildClass
方法。为了访问ChildClass
方法,您需要使用as将对象强制转换为ChildClass
,我们知道它是一个ChildClass
对象。之后,您将能够访问ChildClass
的所有参数,谢谢!我忘了
(b as! ChildClass).otherName