我将此作为我的代码:
for child in viewsArray[i].children {
let childNode = child as! SKSpriteNode
if childNode.color == UIColor.blackColor() && childNode.alpha == 1 {
childNode.alpha = 0.5
}
}
它给了我这个错误:
无法转换类型' SKCropNode' (0x1a04415a0)到' SKSpriteNode' (0x1a0441230)。
所以我的问题是如何在写let childNode = child as! SKSpriteNode
之前检查孩子的类型,这样我可以避免这个错误?
答案 0 :(得分:3)
如果你想在这里使用函数式编程,那就是代码
答案 1 :(得分:1)
怎么样:
for child in viewsArray[i].children {
guard let childNode = child as? SKSpriteNode else { continue }
if childNode.color == UIColor.blackColor() && childNode.alpha == 1 {
childNode.alpha = 0.5
}
}