ios - 从 Parent/Base 到 Child 类的 Swift Type Cast

标签 ios swift oop inheritance

我有如下的父类/基类:

class Base {
    ...
}

此外,子类如下:

class Child: Base {
    ...
    func someFunc() {

    }
}

我创建了父类的实例如下:

let baseObj = Base()

现在,我想从父对象调用子类的方法。所以我有如下代码:

let childObj = baseObj as! Child
childObj.someFunc()

但这让我在运行时崩溃,如下所示:

Could not cast value of type 'PCTests.Base' (0x11c6ad150) to 'PCTests.Child' (0x11c6ab530).

最佳答案

错误说明了一切……您不能将父对象强制转换为子对象。这不是继承的工作方式。

关于ios - 从 Parent/Base 到 Child 类的 Swift Type Cast,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32961884/

相关文章:

javascript - 使用 OOP 减少代码并使其可重用

c# - oo-spaghettio 网络架构

ios - 该应用程序永远显示白屏。 Cordova ios@6.1.0

ios - 如何在子元素上启用用户交互,但忽略父元素上的用户交互?

ios - UIButton 不能横向工作

ios - 在 Swift 中按顺序播放音频文件,其中第二个声音重复播放

ios - 如何在 swift 中使用 .a 静态库?

cocoa-touch - iPad 上 PDF 的替代方案

ios - XCUITests 在测试之间运行 shell 脚本

C# 泛型与继承