Bird
0
0

Consider this enum with associated values:

hard📝 Application Q9 of 15
Swift - Control Flow
Consider this enum with associated values:
enum Result { case success(Int), failure(String) }
Which switch statement is exhaustive without using a default case?
Aswitch res { case .success(let code): print(code); case .failure(let msg): print(msg) }
Bswitch res { case .failure(let msg): print(msg) }
Cswitch res { case .success(let code): print(code) }
Dswitch res { default: print("\"Unknown\"") }
Step-by-Step Solution
Solution:
  1. Step 1: Identify all enum cases with associated values

    Result has two cases: success(Int) and failure(String).
  2. Step 2: Check which switch covers both cases

    switch res { case .success(let code): print(code); case .failure(let msg): print(msg) } covers both success and failure cases with associated values, making it exhaustive.
  3. Final Answer:

    Switch covering both success and failure cases with associated values. -> Option A
  4. Quick Check:

    All associated value cases must be handled [OK]
Quick Trick: Handle all associated value cases explicitly [OK]
Common Mistakes:
  • Handling only one case
  • Assuming default covers associated values safely
  • Ignoring associated values in cases

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More Swift Quizzes