Quick Answer
Optionals represent either a value or nil
Understanding the Issue
Swift Optionals handle the absence of a value explicitly. They are declared with a ? after the type. Unwrapping options safely prevents runtime crashes.
The Problem
This code demonstrates the issue:
Swift
Error
// Problem: Forced unwrapping danger
var name: String? = nil
print(name!) // Crash
The Solution
Here's the corrected code:
Swift
Fixed
// Solution 1: Optional binding
if let unwrappedName = name {
print(unwrappedName)
}
// Solution 2: Nil coalescing
print(name ?? "default")
Key Takeaways
Always handle Optionals safely to avoid runtime crashes.