我有一个switch语句,用于确定触摸了哪个节点名称。我有两个重叠的节点。如果触摸顶部的那个,我只想要执行顶部节点的代码。所以我在那个案子之后休息一下。即便如此,也会执行这两种情况的代码。只触发顶级案例的最佳方法是什么?以下是代码:
for node in nodeTouched {
if let currentNode = node.name {
switch currentNode {
case "thisIsTheTopNode":
print("top")
break
case "thisIsTheNodeUnderneath":
print("bottom")
break
default:
break
}
}
}
输出:
顶部
底部
答案 0 :(得分:1)
正如评论中所提到的,你的问题是你没有打破for循环。进入for循环时,您有两个节点。这将导致它在两个节点上进行迭代,并且它将打印两个节点,如下所示。在这种情况下你应该break
for循环。