私は私のコードとしてこれを持っている:スイフト。どのようにnode.childrenの型を取得するのですか?
for child in viewsArray[i].children {
let childNode = child as! SKSpriteNode
if childNode.color == UIColor.blackColor() && childNode.alpha == 1 {
childNode.alpha = 0.5
}
}
それは私にこのエラーを与える:
Could not cast value of type 'SKCropNode' (0x1a04415a0) to 'SKSpriteNode' (0x1a0441230).
だから私の質問は、私はlet childNode = child as! SKSpriteNode
を書く前に、私は子供のタイプを確認することができる方法なので、私ができますこのエラーを避ける?約
ああです!ドキュメントを参照してください! "ガードステートメントのelse節が必要であり、noreturn属性でマークされた関数を呼び出すか、ガードステートメントの囲みスコープの外側にあるreturn program、return、break、continue、throwのいずれかのステートメントを使用して関数を呼び出す必要があります。 https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Statements.html – ncke
ガードの優れた使い方 – Knight0fDragon