← Back to Swift Course | Chapter 5: Optionals | Lesson 4 of 8

Optional Binding क्या है

Optional binding सुरक्षित रूप से optional box के अंदर झांकना है और सिर्फ वहां मौजूद चीज़ उपयोग करना अगर असल में कुछ है।
Syntax
swift
if let unwrapped = optionalValue {
    // use unwrapped
} else {
    // optionalValue was nil
}

if let a = optionalA, let b = optionalB { }

Basic if let Binding

if let एक optional unwrap करने की कोशिश करता है, इसका block सिर्फ तब चलाते हुए जब एक value असल में मौजूद हो, उस value को एक नए constant से bound करते हुए।

उदाहरण: Basic if let Binding

markup
// Declare a constant `possibleName` (a `String?`), set to `"Taylor"`
let possibleName: String? = "Taylor"
// If `possibleName` has a value, bind it to `name`
if let name = possibleName {
    // Print "Hello, \(name)!" to the console
    print("Hello, \(name)!")
// Otherwise, run this branch
} else {
    // Print "No name provided" to the console
    print("No name provided")
}

Binding Multiple Optionals at Once

कई optionals एक साथ एक single if let में unwrap किए जा सकते हैं, commas से अलग -- block सिर्फ तब चलता है जब उन सभी के पास values हों।

उदाहरण: Binding Multiple Optionals at Once

markup
// Declare a constant `firstName` (a `String?`), set to `"Ada"`
let firstName: String? = "Ada"
// Declare a constant `lastName` (a `String?`), set to `"Lovelace"`
let lastName: String? = "Lovelace"
// If `firstName, let last = lastName` has a value, bind it to `first`
if let first = firstName, let last = lastName {
    // Print "Full name: \(first) \(last)" to the console
    print("Full name: \(first) \(last)")
}
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the view already swaps in the hi_ translation fields (or blanks these out if untranslated), so this renders correctly for both languages without a lang_code check here. #}
आम गलतियां
  1. if let value = value उपयोग करना और भूल जाना कि bound value सिर्फ उस if block के scope के अंदर usable है।
  2. कई अलग if let statements nest करना जब इन्हें एक single if let a = a, let b = b statement में combine किया जा सकता था।
  3. Optional के नाम को shadow करना modern Swift में fine और idiomatic है, लेकिन यह भूल जाना कि नई binding original optional से बिल्कुल अलग constant है।
चैप्टर सारांश
  • if let name = optionalValue सुरक्षित रूप से unwrap और bind करता है सिर्फ अगर यह मौजूद हो।
  • Bound constant सिर्फ if block के scope के अंदर available है।
  • कई optionals को एक if let statement में commas से अलग unwrap किया जा सकता है।
  • Optional binding crashes से बचाता है क्योंकि block बस नहीं चलता अगर value nil हो।
🔒

Chapter Quiz — Complete all 8 topics to unlock

0/8 topics done

Complete these topics first:

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.