How to Create a Noop Block for a Switch Case in Swift

How do I create a noop block for a switch case in Swift?


default:
break

Apple talks about this keyword in this article. See here, too.

Although break is not required in Swift, you can still use a break statement to match and ignore a particular case, or to break out of a matched case before that case has completed its execution.

Noop for Swift's Exhaustive Switch Statements

According to the book, you need to use break there:

The scope of each case can’t be empty. As a result, you must include at least one statement following the colon (:) of each case label. Use a single break statement if you don’t intend to execute any code in the body of a matched case.

Swift switch statement force to write block of code

Just get your function to return in that case:

case .hamburger:
return

Hope that helps.

Per the discussion and @MartinR 's comment, break is probably a better general solution to exit the switch statement.

How can I write an empty case in Swift?


let a = 50
switch a {
case 0..10:
break // Break the switch immediately
case 10..100:
println("between 10 and 100")
default:
println("100 and above")
}

Keyword break is optional, but not in this case :)

Not sure how to avoid junk in default statement of Swift switch

You should use break to leave the switch-statement:

default:
break

When I use for as a switch statement's expression, Swift returns an error. How to get around this?

for is a reserved word, if you want to use reserved words as variable or function names you need to escape them with back-ticks.

Try this

switch `for` {

PS. You can improve this function signature by adding a variable name that is different from the label, like this

func synoynms(for word: String) -> [String]? {
switch word {

Now word is the name of your variable, and calls still look like this: synonyms(for: "cheese")

Switch statement where value is Int but case can contain array

You can use case let with where for that.

let intValues = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
let inputValue = 30 // or some other int value
switch inputValue {
case let x where intValues.contains(x):
// do something more:
case 101:
// do something lol
case 13131:
// do another thing
default:
// do default
}


Related Topics



Leave a reply



Submit