在Objective-C中,我总是这样做:
for (SKSpriteNode *sprite in sprites.children) {
//Do something for every sprite.
}
但是当我尝试在swift中做同样的事情时,我会遇到问题。
我这样做:
for sprite: SKSpriteNode in sprites.children {
//Do something for every sprite.
}
这给了我错误: 对于通用方法'children'的引用是不明确的,没有更多的上下文
我很快就开始学习,我刚开始学习,所以我做错了什么?
答案 0 :(得分:1)
你必须施放数组。我不知道为什么苹果会这样做,但这是做到这一点的方法:
for sprite in sprites.children as [SKSpriteNode] {
// If you know for sure that every child is an SKSpritNode
}
// OR
for child in sprites.children {
if let sprite = child as? SKSpriteNode {
// To be 100% sure
}
}