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

Swift 从其超类函数访问子类类型,swift,class,inheritance,Swift,Class,Inheritance,有没有一种方法可以在超类中拥有一个函数,当通过子类调用该函数时可以访问所说的子类类型 我希望在我的masterclass中有一个通用信息,可以称之为给定子类类型的信息 我并不完全清楚您想要什么,但是self总是返回当前实例化的类-见下文 class A { init() { } func whatClassAmI() -> String { return "\(type(of: self))" } } class B: A { } let a

有没有一种方法可以在超类中拥有一个函数,当通过子类调用该函数时可以访问所说的子类类型


我希望在我的masterclass中有一个通用信息,可以称之为给定子类类型的信息

我并不完全清楚您想要什么,但是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

您好,欢迎来到SO。答案取决于您希望发现的信息类型,但如果是类反射,您可能会发现NSStringFromClass和NSClassFromString提供了您想要的信息。否则,您可以返回类公开的属性字典。如果你不清楚自己在寻找什么,回答这个问题有点困难。