Sobes.tech
Junior

Ce este wrapped?

sobes.tech AI

Răspuns de la AI

wrapped - este valoarea unui tip opțional după o extragere cu succes (unwrapping) a conținutului său. Opționalul Optional<<Wrapped>> fie conține o valoare de tip Wrapped, fie este nil. Extragerea permite accesul la valoarea Wrapped dacă aceasta există.

Exemple de extragere:

  1. Extragere forțată (Force unwrapping) !:

    var optionalString: String? = "Hello"
    let unwrappedString = optionalString! // Obține valoarea "Hello"
    // Dacă optionalString == nil, va avea loc o eroare
    
  2. Legare opțională (Optional binding) if let sau guard let:

    var anotherOptionalString: String? = "World"
    if let guaranteedString = anotherOptionalString {
        // În interiorul acestui bloc, guaranteedString este de tip String (dezambalat)
        print(guaranteedString)
    }
    
  3. Lanț opțional (Optional chaining) ?:

    class MyClass { var property: String? }
    var instance: MyClass? = MyClass()
    instance?.property = "Value" // Dacă instance nu este nil, se setează proprietatea
    let retrievedValue = instance?.property // retrievedValue va fi String?
    
  4. Operatorul de coalescență null (Nil-coalescing operator) ??:

    var yetAnotherOptionalString: String? = nil
    let defaultValue = yetAnotherOptionalString ?? "Default" // defaultValue va fi "Default" (String)
    // Dacă yetAnotherOptionalString avea o valoare, aceasta ar fi fost utilizată ca unwrapped.
    

În contextul Swift, valoarea wrapped este direct ceea ce se afla "în interior"ul opționalului înainte de manipulare.