Bird
0
0

Given the following classes:

hard📝 Application Q15 of 15
Swift - Optionals
Given the following classes:
class Address {
  var city: String?
}
class User {
  var address: Address?
}

let user = User()

Which code safely prints the city name if it exists, or "Unknown" if city or address is nil?
Aprint(user.address.city ?? "Unknown")
Bprint(user.address?.city ?? "Unknown")
Cprint(user.address!.city!)
Dprint(user.address?.city!)
Step-by-Step Solution
Solution:
  1. Step 1: Understand optional chaining with nil coalescing

    Using user.address?.city safely accesses city, returning nil if address or city is nil.
  2. Step 2: Use nil coalescing operator to provide default

    The ?? "Unknown" provides "Unknown" if the optional is nil, avoiding crashes.
  3. Final Answer:

    print(user.address?.city ?? "Unknown") -> Option B
  4. Quick Check:

    Optional chaining + ?? = safe access with default [OK]
Quick Trick: Combine ?. with ?? to provide default value safely [OK]
Common Mistakes:
  • Forcing unwraps causing runtime crashes
  • Not handling nil for nested optionals
  • Using optional chaining without default fallback

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More Swift Quizzes