我有以下代码:
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)
。我怎么能这样做?
答案 0 :(得分:2)
为什么不在子类Y中创建一个返回正确类型的计算属性。像
var modelB: ModelB {get { return model as! ModelB }}
而不是将其作为"(模型为!ModelB)"你可以把它作为" modelB"。