【发布时间】:2018-01-21 16:40:22
【问题描述】:
我有一个 switch 语句,它决定了哪个节点名称被触及。我有两个重叠的节点。如果触及顶部,我只想执行顶部节点案例的代码。所以我在那个案子之后休息了。即便如此,这两种情况的代码都会被执行。仅触发顶级案例的最佳方法是什么?下面是代码:
for node in nodeTouched {
if let currentNode = node.name {
switch currentNode {
case "thisIsTheTopNode":
print("top")
break
case "thisIsTheNodeUnderneath":
print("bottom")
break
default:
break
}
}
}
输出:
顶部
底部
【问题讨论】:
-
我认为上面的代码没有任何问题。您的 break 语句应该有效。大多数情况下,您的 nodeTouched 都有两个节点。如果是,那么你也需要打破 for 循环。
-
在swift中,你不需要break
-
我敢打赌,nodeTouched 正在接触两个节点,而你不知道,在你的 for 后面打印一个
print("\(nodeTouched.count)") -
@adev - 你是对的。我也需要跳出 for 循环。呃。谢谢!
标签: swift sprite-kit switch-statement break