如何简化代码

时间:2017-10-24 14:50:21

标签: ios swift

我有以下代码:

class MySuperClass : UIViewController {
    var model: ModelA!
}

class ModelA {
    var aBool = true
}

class ModelB: ModelA {
    var boolBelongsToB = true
}

class MySubclass: MySuperclass {
    func testFunction() {
        let theBool = (model as! ModelB).boolBelongsToB // Simplify this
    }
}

var aSubclass = MySubclass()
var aModelB = ModelB()
aSubclass.model = aModelB

我想要做的是简化每次我想在MySubclass中访问我的模型时使用代码(model as! ModelB)。我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

为什么不在子类Y中创建一个返回正确类型的计算属性。像

var modelB: ModelB {get { return model as! ModelB }}

而不是将其作为"(模型为!ModelB)"你可以把它作为" modelB"。