2017-10-24 1 views
0

を簡素化するためにどのように私は次のコードを持っている:コード

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)毎回を使用する必要が簡素化されてやりたいです。これどうやってするの?

+2

これは少し混乱します。より多くのコードを提供して、各クラス間の関係をよりよく理解できるようにしてください。また、同じ変数名を使用していますか? – valcanaia

+0

@valcanaia完了 – Tometoyou

答えて

2

正しいタイプを返すサブクラスYに計算されたプロパティを作成するだけではどうですか。 Like

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

「(model as as ModelB)」ではなく、「modelB」として取得できます。