如何停止'enumerateChildNodesWithName(“// *”)'枚举?

时间:2016-07-10 05:56:11

标签: swift sprite-kit enumeration treenode sknode

如何停止此枚举?我有以下代码和Xcode抱怨我不能分配值让常量。停止可能是一件简单的事情,但我对Swift非常不满意,所以请耐心等待。

self.enumerateChildNodesWithName("//*") {
        spaceshipNode, stop in
        if (( spaceshipNode.name?.hasSuffix("ship") ) != nil) {
            for enemyNode in self.children {
                if (enemyNode.name == "enemy"){
                    if(enemyNode.containsPoint(spaceshipNode.position)){
                        self.gotoGameOverScene(spaceshipNode)
                        stop = true // Error: Cannot assign to value: 'stop' is a 'let' constant
                    }
                }
            }
        }
    }

1 个答案:

答案 0 :(得分:8)

通常,您最好将代码显示为文字。我们可以轻松地复制和使用它粘贴,测试或编辑它。

在您的代码中,UnsafeMutablePointer<ObjCBool>的类型应在Xcode的“快速帮助”面板中显示为 stop.memory = true

您需要在Swift2中修改指针的内容:

memory

在Swift 3中,属性pointee重命名为 stop.pointee = true

php -S 192.168.1.36:8000