Set your Publisher ID in src/config/ads.ts to display live ads.
Swift Optionals & Safe Unwrapping
Optional binding if let / guard let, nil-coalescing ??, and optional chaining
In Swift, regular types can NEVER be nil. To represent the possibility of absence, Swift uses Optionals: Type?, wrapping either a value or nil.
Unwrapping Strategies in Swift
if let: Unwraps an optional conditionally inside a localized scope block.
guard let: The preferred early-return pattern for functions. Unwrapped variables remain in scope for the rest of the function body!
Nil-Coalescing (??): Provides fallback default values: val name = inputName ?? "Guest".
Forced Unwrapping (!): Unconditionally unwraps; crashes at runtime if the value is nil. Avoid in production!
func registerMember(email: String?, ageString: String?) {
// 1. guard let early exit pattern
guard let validEmail = email, !validEmail.isEmpty else {
print("Registration failed: Email is required.")
return
}
// validEmail is available throughout the rest of this function!
print("Sending welcome email to: \(validEmail)")
// 2. Nil-coalescing operator ??
let age = Int(ageString ?? "0") ?? 18
print("Registered with age: \(age)")
}Set your Publisher ID in src/config/ads.ts to display live ads.
Test Yourself With Exercise
Why is `guard let` widely preferred over `if let` inside Swift functions?