为什么我不能遍历 NSArray?
Why can't I iterate through an NSArray?
在 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' 的引用不明确
我是 swift 的新手,我昨天才开始学习,所以我做错了什么?
你必须投射阵列。我不知道为什么苹果会这样做,但这是这样做的方式:
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
}
}
在 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' 的引用不明确
我是 swift 的新手,我昨天才开始学习,所以我做错了什么?
你必须投射阵列。我不知道为什么苹果会这样做,但这是这样做的方式:
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
}
}