swift - 从其父类(super class)函数访问子类类型

标签 swift class inheritance

有没有办法在父类(super class)中拥有一个函数,它可以(当通过子类调用时)访问所述子类类型?

我想在我的主类中使用一个通用的 info() ,它可以调用它来提供有关子类类型的信息。

最佳答案

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

关于swift - 从其父类(super class)函数访问子类类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43137279/

相关文章:

c++ - 我可以从 std::string 继承以提供强类型字符串吗?

ios - 如何使用 Turbolinks-ios 打开链接的 pdf

java - 在java中实现我自己的Map API,如何抛出IllegalArgumentException?

c++ - "Typedef declaration"和 "Class declaration"之间的区别

python - 为什么在这种情况下插入父类(super class)的 __init__() ?

Java:公开 protected 方法的简单方法

ios - 在 Swift、iOS 中将表格 View 转换为多页 PDF 的最佳方法之一

swift - CoreData 在用户数量较少时崩溃

ios - 是否可以缩短大量不断检查 bool 值的代码

c++ - CStatic 自定义控件