Swift & SpriteKit - 使用 break 的 switch 语句
Swift & SpriteKit - switch statement using 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
}
}
}
输出:
顶
底部
如评论中所述,您的问题是您没有中断 for 循环。进入 for 循环时,两个节点都存在。这将导致它遍历两个节点,并将打印两个节点,如问题所示。在这种情况下,您应该 break
for 循环。
我有一个 switch 语句来确定哪个节点名称被触及。我有两个重叠的节点。如果触及顶部节点,我只想执行顶部节点案例的代码。所以我在那个案子之后休息了。即便如此,这两种情况的代码都会执行。仅触发顶级案例的最佳方法是什么?下面是代码:
for node in nodeTouched {
if let currentNode = node.name {
switch currentNode {
case "thisIsTheTopNode":
print("top")
break
case "thisIsTheNodeUnderneath":
print("bottom")
break
default:
break
}
}
}
输出:
顶
底部
如评论中所述,您的问题是您没有中断 for 循环。进入 for 循环时,两个节点都存在。这将导致它遍历两个节点,并将打印两个节点,如问题所示。在这种情况下,您应该 break
for 循环。