What if you could handle many choices with just one simple line of code?
Why Switch with compound cases in Swift? - Purpose & Use Cases
Imagine you have a list of fruits and you want to perform the same action for several types like apples, pears, and peaches. Without compound cases, you would write separate code blocks for each fruit.
This manual way means repeating the same code many times, making your program longer and harder to read. If you want to change the action, you must update it in many places, which can cause mistakes.
Using switch with compound cases lets you group multiple values together in one case. This way, you write the action once, and it applies to all those values, making your code shorter, cleaner, and easier to maintain.
switch fruit {
case "apple":
print("This is a fruit we like.")
case "pear":
print("This is a fruit we like.")
case "peach":
print("This is a fruit we like.")
default:
print("Unknown fruit.")
}switch fruit {
case "apple", "pear", "peach":
print("This is a fruit we like.")
default:
print("Unknown fruit.")
}This lets you handle many similar cases together easily, saving time and reducing errors.
Think about a traffic light system where red and yellow mean stop or caution, and green means go. Using compound cases, you can group red and yellow together to trigger the same response.
Manual repetition makes code long and error-prone.
Compound cases group multiple values in one case.
Code becomes cleaner, shorter, and easier to update.
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
