Sobes.tech
Junior

Wrapped nədir?

sobes.tech Süni İntellekt

AI-dan cavab

wrapped - bu, uğurlu çıxarış (unwrapping) sonrası opsional tipinin dəyəridir. Optional<<Wrapped>> opsionallığı ya Wrapped tipində dəyər saxlayır, ya da nil. Çıxarış, Wrapped dəyərinə giriş imkanı verir, əgər o mövcuddursa.

Çıxarış nümunələri:

  1. Zorunlu çıxarış (Force unwrapping) !:

    var optionalString: String? = "Hello"
    let unwrappedString = optionalString! // "Hello" dəyərini alır
    // Əgər optionalString == nil olarsa, xəta baş verər
    
  2. Opsional bağlama (Optional binding) if let və ya guard let:

    var anotherOptionalString: String? = "World"
    if let guaranteedString = anotherOptionalString {
        // Bu blok daxilində, guaranteedString String tipindədir (unwrap edilmiş)
        print(guaranteedString)
    }
    
  3. Opsional zəncirləmə (Optional chaining) ?:

    class MyClass { var property: String? }
    var instance: MyClass? = MyClass()
    instance?.property = "Value" // Əgər instance nil deyilsə, xüsusiyyət təyin edilir
    let retrievedValue = instance?.property // retrievedValue String?
    
  4. Nil birləşdirmə operatoru (Nil-coalescing operator) ??:

    var yetAnotherOptionalString: String? = nil
    let defaultValue = yetAnotherOptionalString ?? "Default" // defaultValue "Default" olacaq
    // Əgər yetAnotherOptionalString dəyər alsaydı, istifadə olunardı
    

Swift kontekstində, wrapped dəyər, birbaşa olaraq, opsionalın içindəki dəyərdir, onun işlənməsindən əvvəl.