Switch with compound cases lets you check if a value matches any of several options in one place. It keeps your code neat and easy to read.
Switch with compound cases in Swift
switch value { case option1, option2, option3: // code to run if value matches any option case option4: // code for option4 default: // code if no cases match }
You separate multiple cases with commas in one case line.
The default case runs if no other case matches.
let fruit = "apple" switch fruit { case "apple", "banana", "orange": print("This is a common fruit.") case "kiwi": print("This is a tropical fruit.") default: print("Unknown fruit.") }
let number = 3 switch number { case 1, 3, 5, 7, 9: print("Odd number") case 2, 4, 6, 8, 10: print("Even number") default: print("Number out of range") }
This program checks if the day is a weekend or a weekday using compound cases.
let day = "Saturday" switch day { case "Saturday", "Sunday": print("It's the weekend!") case "Monday", "Tuesday", "Wednesday", "Thursday", "Friday": print("It's a weekday.") default: print("Not a valid day.") }
Compound cases help avoid repeating the same code for similar values.
You can mix compound cases with single cases in the same switch.
Remember to include a default case to handle unexpected values.
Use commas to list multiple values in one case.
Compound cases make your switch statements cleaner and easier to read.
Always include a default case to cover all possibilities.
Practice
What does a compound case in a Swift switch statement allow you to do?
Solution
Step 1: Understand compound cases
Compound cases let you list several values separated by commas in one case.Step 2: Recognize the benefit
This makes the code cleaner by avoiding repeated code for similar cases.Final Answer:
Match multiple values in a single case using commas -> Option DQuick Check:
Compound case = multiple values in one case [OK]
- Thinking compound cases combine multiple switches
- Believing compound cases skip default
- Confusing compound cases with if-else
Which of the following is the correct syntax for a compound case in Swift?
switch value {
case 1, 2, 3:
print("One to three")
default:
print("Other")
}Solution
Step 1: Recall Swift compound case syntax
Swift uses commas to separate multiple values in one case.Step 2: Check each option
case 1, 2, 3: uses commas correctly; others use semicolons, parentheses, or brackets incorrectly.Final Answer:
case 1, 2, 3: -> Option AQuick Check:
Commas separate values in compound case [OK]
- Using semicolons instead of commas
- Putting values inside parentheses or brackets
- Missing the colon after case
What will be printed by this Swift code?
let letter = "b"
switch letter {
case "a", "e", "i", "o", "u":
print("Vowel")
case "b", "c", "d":
print("Consonant")
default:
print("Other")
}Solution
Step 1: Identify the value of letter
The variable letter is "b".Step 2: Match letter in switch cases
"b" matches the second case with "b", "c", "d" which prints "Consonant".Final Answer:
Consonant -> Option CQuick Check:
"b" in second case = Consonant [OK]
- Confusing vowels and consonants
- Forgetting to include default case
- Assuming no output if no exact match
Find the error in this Swift switch statement:
let number = 3
switch number {
case 1, 2
print("One or Two")
case 3:
print("Three")
default:
print("Other")
}Solution
Step 1: Check syntax of each case
Each case must end with a colon (:). The first case is missing it.Step 2: Verify other parts
Default case is present; compound cases with integers are allowed; parentheses are not needed.Final Answer:
Missing colon after case 1, 2 -> Option AQuick Check:
Case lines must end with colon [OK]
- Forgetting colon after case
- Thinking parentheses are required
- Believing compound cases disallow integers
Given this Swift code, what will be the output?
let grade = "B"
switch grade {
case "A", "B", "C":
print("Pass")
case "D", "F":
print("Fail")
case "I", "W":
print("Incomplete or Withdrawn")
default:
print("Unknown grade")
}Solution
Step 1: Identify the value of grade
The variable grade is "B".Step 2: Match grade in compound cases
"B" matches the first case "A", "B", "C" which prints "Pass".Final Answer:
Pass -> Option BQuick Check:
"B" in first case = Pass [OK]
- Assuming "B" is a fail grade
- Ignoring default case
- Confusing case groups
Ready to prove it?
Pass the test and this pattern moves unknown
