从其超类函数访问子类类型

时间:2017-03-31 09:32:27

标签: swift class inheritance

有没有办法在超类中有一个函数,可以(当通过子类调用时)访问所说的子类类型?

我想在我的masterclass中使用通用info(),可以将其称为给定有关子类类型的信息。

1 个答案:

答案 0 :(得分:1)

我并不完全清楚你想要什么,但self总是返回当前实例化的类 - 见下文

class A {
    init() { }

    func whatClassAmI() -> String {
        return "\(type(of: self))"
    }
}

class B: A { }

let a = A()
let sa = a.whatClassAmI() // "A", of course

let b = B()
let sb = b.whatClassAmI() // "B", as required