Bird
Raised Fist0
Swiftprogramming~3 mins

Why Switch with compound cases in Swift? - Purpose & Use Cases

Choose your learning style10 modes available
The Big Idea

What if you could handle many choices with just one simple line of code?

The Scenario

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.

The Problem

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.

The Solution

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.

Before vs After
✗ Before
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.")
}
✓ After
switch fruit {
case "apple", "pear", "peach":
    print("This is a fruit we like.")
default:
    print("Unknown fruit.")
}
What It Enables

This lets you handle many similar cases together easily, saving time and reducing errors.

Real Life Example

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.

Key Takeaways

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

(1/5)
1.

What does a compound case in a Swift switch statement allow you to do?

easy
A. Skip the default case safely
B. Use multiple switch statements at once
C. Combine if and switch in one line
D. Match multiple values in a single case using commas

Solution

  1. Step 1: Understand compound cases

    Compound cases let you list several values separated by commas in one case.
  2. Step 2: Recognize the benefit

    This makes the code cleaner by avoiding repeated code for similar cases.
  3. Final Answer:

    Match multiple values in a single case using commas -> Option D
  4. Quick Check:

    Compound case = multiple values in one case [OK]
Hint: Look for commas inside a case to spot compound cases [OK]
Common Mistakes:
  • Thinking compound cases combine multiple switches
  • Believing compound cases skip default
  • Confusing compound cases with if-else
2.

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")
}
easy
A. case 1, 2, 3:
B. case 1; 2; 3:
C. case (1, 2, 3):
D. case [1, 2, 3]:

Solution

  1. Step 1: Recall Swift compound case syntax

    Swift uses commas to separate multiple values in one case.
  2. Step 2: Check each option

    case 1, 2, 3: uses commas correctly; others use semicolons, parentheses, or brackets incorrectly.
  3. Final Answer:

    case 1, 2, 3: -> Option A
  4. Quick Check:

    Commas separate values in compound case [OK]
Hint: Use commas, not semicolons or brackets, for compound cases [OK]
Common Mistakes:
  • Using semicolons instead of commas
  • Putting values inside parentheses or brackets
  • Missing the colon after case
3.

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")
}
medium
A. Vowel
B. No output
C. Consonant
D. Other

Solution

  1. Step 1: Identify the value of letter

    The variable letter is "b".
  2. Step 2: Match letter in switch cases

    "b" matches the second case with "b", "c", "d" which prints "Consonant".
  3. Final Answer:

    Consonant -> Option C
  4. Quick Check:

    "b" in second case = Consonant [OK]
Hint: Check which case list contains the value [OK]
Common Mistakes:
  • Confusing vowels and consonants
  • Forgetting to include default case
  • Assuming no output if no exact match
4.

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")
}
medium
A. Missing colon after case 1, 2
B. Missing default case
C. Cannot use compound cases with integers
D. Missing parentheses around 1, 2

Solution

  1. Step 1: Check syntax of each case

    Each case must end with a colon (:). The first case is missing it.
  2. Step 2: Verify other parts

    Default case is present; compound cases with integers are allowed; parentheses are not needed.
  3. Final Answer:

    Missing colon after case 1, 2 -> Option A
  4. Quick Check:

    Case lines must end with colon [OK]
Hint: Look for missing colons after case labels [OK]
Common Mistakes:
  • Forgetting colon after case
  • Thinking parentheses are required
  • Believing compound cases disallow integers
5.

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")
}
hard
A. Incomplete or Withdrawn
B. Pass
C. Fail
D. Unknown grade

Solution

  1. Step 1: Identify the value of grade

    The variable grade is "B".
  2. Step 2: Match grade in compound cases

    "B" matches the first case "A", "B", "C" which prints "Pass".
  3. Final Answer:

    Pass -> Option B
  4. Quick Check:

    "B" in first case = Pass [OK]
Hint: Match value to any in compound case list [OK]
Common Mistakes:
  • Assuming "B" is a fail grade
  • Ignoring default case
  • Confusing case groups
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard