2016-09-24 5 views
1

ファーストにクラスを変換し、私はこのようないくつかのクラスを作成しました:そのスーパークラス

class superClass { 
} 

class class1: superClass { 
    var a:Int = 0 
} 

class class2: superClass { 
    var b:Int = 0 
} 

をそして、私はそれらを格納する配列を構築:私は、このように配列に何かを追加

var myClasses:[superClass] = [] 

let newClass = class1() 
newClass.a = 1 
myClasses.append(newClass) 

そして:

let newClass = class2() 
newClass.b = 2 
myClasses.append(newClass) 

は今、私はこのような配列を確認したい:

for eachObject in myClasses { 
    // code... 
} 

私はeachObjectを分類し、それが属するクラスを把握したいです。

それはクラス1に属する場合、私はの値を印刷する必要があるeachObject.a

それを作るための方法はありますか?おかげで〜

答えて

1

あなたは、単にあなただけclass1を把握したい場合、あなたは次のように行うことができますタイプのチェック演算子を使用しis

for eachObject in myClasses { 

    if eachObject is class1 { 
     // class1 type object 
    } else if eachObject is class2 { 
     // class2 type object 
    } 
} 
+0

ありがとうたくさん!!!!!! –

+0

あなたは大歓迎です@KelinSasha。 – Sahil

0

を使用して、この

for eachObject in myClasses { 

    if let obj = eachObject as? class1 { 
     // class1 type object 
    } else { 
     // class2 type object  
    }  
} 

にオブジェクトの種類を確認する別の方法を行うことができますこの:

関連する問題