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