0

I have the following code:

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

What I want to do is simplify having to use the code (model as! ModelB) everytime I want to access my model in MySubclass. How can I do this?

Tometoyou
  • 7,792
  • 12
  • 62
  • 108

1 Answers1

2

Why not just create a computed property in your subclass Y which returns the correct type. Like

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

Instead of getting it then as "(model as! ModelB)" you can just get it as "modelB".

CodeR70
  • 447
  • 3
  • 2