我正在尝试编写一个方法来查找属于特定类的SKNode的子类,但是我在这里得到了一个EXC错误
有人知道为什么会这样吗?
import SpriteKit
extension SKNode {
func children(#klasses: [AnyClass]) -> [SKNode] {
var matchedNodes = [SKNode]()
for child in children as [SKNode] {
for klass in klasses {
if child.isKindOfClass(klass) {
matchedNodes.append(child)
}
}
matchedNodes += child.children(klasses: klasses)
}
return matchedNodes
}
}
class Apple: SKNode {}
class Orange: SKNode {}
let apple = Apple()
let orange = Orange()
apple.addChild(orange)
let fruits = apple.children(klasses: [Apple.self, Orange.self])错误:
执行被中断,原因: EXC_BAD_INSTRUCTION (code=EXC_i386_INVOP,subcode=0x0)。
发布于 2015-02-12 14:10:36
试试这段代码
extension SKNode {
func children(#klasses: [AnyObject]) -> [SKNode] {
var matchedNodes = [SKNode]()
for child in children as [SKNode]{
for klass in klasses {
if child.dynamicType === klass {
matchedNodes.append(child)
}
}
matchedNodes += child.children(klasses: klasses)
}
return matchedNodes
}
}https://stackoverflow.com/questions/28478506
复制相似问题