Swift에는 철저한 switch 문이 필요하며 각 케이스에는 실행 가능한 코드가 있어야합니다.
'switch'의 'case'레이블에는 실행 가능한 문이 하나 이상 있어야합니다.
실제로 아무것도하고 싶지 않은 경우를 처리 할 수있는 좋은 방법을 결정한 사람이 있습니까? 거기에 println ()을 넣을 수는 있지만 더럽습니다.
Swift에는 철저한 switch 문이 필요하며 각 케이스에는 실행 가능한 코드가 있어야합니다.
'switch'의 'case'레이블에는 실행 가능한 문이 하나 이상 있어야합니다.
실제로 아무것도하고 싶지 않은 경우를 처리 할 수있는 좋은 방법을 결정한 사람이 있습니까? 거기에 println ()을 넣을 수는 있지만 더럽습니다.
답변:
책 에 따르면 break거기 에서 사용해야 합니다.
각 케이스의 범위는 비워 둘 수 없습니다. 따라서 각 케이스 레이블의 콜론 (:) 뒤에 최소한 하나의 명령문을 포함해야합니다.
break일치하는 케이스의 본문에서 코드를 실행하지 않으려면 단일 문을 사용하십시오 .
break은 가지가없는 가지 가 실패 할 수 있음 을 나타냅니다 break.
()wokrs도 있습니다. 그럼에도 불구하고 나는 break그것이 일을 더 명확하게 만드는 것을 선호합니다 . fallthroug문을 통과 하려면 키워드 를 사용하십시오 .
default:경우에 해당하는 유일한 줄을 간단히 주석 처리하고 싶을 때 매우 성가신 일 입니다. 그것은 좋은 것 같지 않습니다. 나는 또한 그것이 Swift가하는 일이 아닌 행동을 통한 c의 실패를 암시한다는 데 동의합니다.
break문을 사용할 수 있습니다 .
let vegetable = "red pepper"
var vegetableComment: String = "Nothing"
switch vegetable {
case "cucumber", "watercress":
break // does nothing
case let x where x.hasSuffix("pepper"):
vegetableComment = "Is it a spicy \(x)?"
default:
vegetableComment = "Everything tastes good in soup."
}
문서 에서 수정 된 예
내가 찾은 가장 깨끗한 해결책은 단순히 스위치 케이스에 마지막 진술을 기본값으로 포함하는 것입니다. 이렇게하면 break가능한 모든 경우를 처리하면서 추가 또는 기타 불필요한 문 을 추가 할 필요가 없습니다.
예를 들면 :
switch myVar {
case 0:
myOtherVar = "Red"
case 1:
myOtherVar = "Blue"
default:
myOtherVar = "Green"
}