Challenge - 5 Problems
Swift Optionals Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
📝 Syntax
intermediateWhat is the output of this Swift code with optional binding?
Consider this Swift code snippet that uses optional binding to unwrap an optional string. What will be printed?
iOS Swift
let optionalName: String? = "Alice" if let name = optionalName { print("Hello, \(name)!") } else { print("No name found.") }
Attempts:
2 left
💡 Hint
Optional binding safely unwraps the optional if it contains a value.
✗ Incorrect
The if let statement unwraps optionalName safely. Since optionalName contains "Alice", the code prints "Hello, Alice!".
❓ ui_behavior
intermediateWhat happens when force unwrapping a nil optional?
Given this Swift code, what will happen when it runs?
iOS Swift
let optionalNumber: Int? = nil
let number = optionalNumber!
print(number)Attempts:
2 left
💡 Hint
Force unwrapping nil optionals causes a runtime crash.
✗ Incorrect
Using ! to force unwrap a nil optional causes a runtime crash with a fatal error.
🧠 Conceptual
advancedWhat is the value of 'result' after this optional chaining?
Analyze this Swift code using optional chaining. What is the value of 'result' after execution?
iOS Swift
class Person { var pet: Pet? } class Pet { var name: String init(name: String) { self.name = name } } let person = Person() let result = person.pet?.name ?? "No pet"
Attempts:
2 left
💡 Hint
Optional chaining returns nil if any link in the chain is nil, then the nil-coalescing operator provides a default.
✗ Incorrect
person.pet is nil, so person.pet?.name is nil. The nil-coalescing operator ?? returns "No pet".
❓ lifecycle
advancedWhich option correctly unwraps and uses an optional in SwiftUI view?
In SwiftUI, you have an optional string 'username: String?'. Which code snippet safely unwraps and displays it in a Text view?
Attempts:
2 left
💡 Hint
Use nil-coalescing operator to provide a default value in UI.
✗ Incorrect
Text(username ?? "Guest") safely unwraps username or shows "Guest" if nil, avoiding crashes and complex views.
🔧 Debug
expertWhat error does this Swift code produce?
Examine this Swift code snippet. What error will it cause when compiled or run?
iOS Swift
var optionalInt: Int? = 5 let forcedInt: Int = optionalInt print(forcedInt)
Attempts:
2 left
💡 Hint
You cannot assign an optional directly to a non-optional variable without unwrapping.
✗ Incorrect
The compiler error occurs because optionalInt is Int? and forcedInt expects Int. You must unwrap optionalInt explicitly.
