2016-07-10 14 views
0

Wie höre ich diese Aufzählung auf? Ich habe den folgenden Code und Xcode beschwert, dass ich keinen Wert zuweisen kann, um konstant zu lassen. Stoppen ist wahrscheinlich eine einfache Sache, aber ich bin ziemlich der Noobie mit Swift, also bitte bitte mit mir.Wie'enumerateChildNodesWithName ("// *") Enumeration zu stoppen?

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 
        } 
       } 
      } 
     } 
    } 

Antwort

5

Im Allgemeinen sollten Sie Ihren Code besser als Text anzeigen. Mit dem können wir einfach kopieren & Paste, und testen Sie es oder bearbeiten Sie es. In Ihrem Code sollte der Typ stop als UnsafeMutablePointer<ObjCBool> in der Schnellhilfe von Xcode angezeigt werden.

Sie müssen den Inhalt des Zeigers, in Swift2 ändern:

  stop.memory = true 

In Swift 3 ist die Eigenschaft memory-pointee umbenannt:

  stop.pointee = true 
+0

was swift 3? –

+0

@ FabianRios, aktualisiert. – OOPer