斯威夫特& SpriteKit - 使用break的switch语句

时间:2017-08-13 20:00:01

标签: swift sprite-kit switch-statement break

我有一个switch语句,用于确定触摸了哪个节点名称。我有两个重叠的节点。如果触摸顶部的那个,我只想要执行顶部节点的代码。所以我在那个案子之后休息一下。即便如此,也会执行这两种情况的代码。只触发顶级案例的最佳方法是什么?以下是代码:

for node in nodeTouched {
   if let currentNode = node.name {
      switch currentNode {
         case "thisIsTheTopNode":
            print("top")
            break
         case "thisIsTheNodeUnderneath":
            print("bottom")
            break
         default:
            break
      }
   }
}       

输出:
顶部
底部

1 个答案:

答案 0 :(得分:1)

正如评论中所提到的,你的问题是你没有打破for循环。进入for循环时,您有两个节点。这将导致它在两个节点上进行迭代,并且它将打印两个节点,如下所示。在这种情况下你应该break for循环。