我的代码是:
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
之前检查孩子的类型,以便避免这个错误? 最佳答案
如果你想使用函数式编程,下面是代码
viewsArray[i].children
.flatMap { $0 as? SKSpriteNode }
.filter { $0.color == .blackColor() && $0.alpha == 1 }
.forEach { $0.alpha = 0.5 }
关于swift - swift 。我如何获得node.children的类型?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38995320/