【问题标题】:Changing object type to instance of child class in Swift在 Swift 中将对象类型更改为子类的实例
【发布时间】:2014-12-16 14:40:56
【问题描述】:

数组包含形状和命名的形状对象。 Shape 是命名形状的父级,唯一的区别是名称属性。

当用户想要给形状命名时。 shape 类型的对象假设转换为名为 shape 的类型。

如何使用 swift 进行操作?这样做是否合适?

【问题讨论】:

    标签: arrays object swift types


    【解决方案1】:

    只需将对象转换为所需的类型:

    if let namedShape = shape as? NamedShape {
        // do sth.
    }
    

    条件尝试将形状对象转换为“NamedShape”类。如果这有效,则执行该块。

    【讨论】:

    • 这不是我的情况,所以代码永远不会在 if 中运行
    • 您确定该对象是正确的类吗?还有关键字“is”,它只检查一个对象是否是一个特定的类而不强制转换它:if shape is NamedShape { ... }
    • 我使用了你的 if 并且只是添加了“else”,以防对象是 Shape 类型而不是强制转换。所以 else 块中的另一个代码对我来说是完美的。谢谢弗雷塔格!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多