برای جلوگیری از برخورد با مقدار nil در Swift، بجای برگرداندن نوع مورد نظر معمولا توصیه می شود نوع Optional آن برگردانده شود:
var airports = ["YYZ": "Toronto Pearson", "DUB": "Dublin"]
let airport = airports["YYZ"]; // return String? instead of String
مقدار ذخیره شده در airport از نوع String? یا optional string است و برای دسترسی به آن باید آن را unwrap کرد:
let airport: String = airports["YYZ"]!;
اما در صورتی که مقدار airports["YYZ"] برابر nil باشد برنامه با خطا روبرو خواهد شد. ساختار if let به ما این امکان را می دهد ابتدا چک کنیم که مقدار airports["YYZ"] برابر nil نیست و سپس آن را درون یک متغییر unwrap کنیم:
if let airport = airports["YYZ"] {
println("The name of the airport is \(airport).")
} else {
println("That airport is not in the airports dictionary.")
}