gpt4 book ai didi

swift 。我如何获得 node.children 的类型?

转载 作者:搜寻专家 更新时间:2023-11-01 06:18:30 26 4
gpt4 key购买 nike

我的代码是这样的:

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! 之前如何检查 child 的类型? SKSpriteNode,所以我可以避免这个错误?

最佳答案

如果你想使用函数式编程,这里是代码

viewsArray[i].children
.flatMap { $0 as? SKSpriteNode }
.filter { $0.color == .blackColor() && $0.alpha == 1 }
.forEach { $0.alpha = 0.5 }

关于 swift 。我如何获得 node.children 的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38995320/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com