Sobes.tech
Junior

Wrapped nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

wrapped - bu, başarılı bir şekilde çıkarıldıktan (unwrapping) sonra bir opsiyonel türünün değeridir. Optional<<Wrapped>> opsiyonu ya Wrapped türünde bir değer ya da nil tutar. Çıkarma işlemi, değer mevcutsa Wrapped değerine erişim sağlar.

Çıkarma örnekleri:

  1. Zorunlu çıkarma (Force unwrapping) !:

    var optionalString: String? = "Hello"
    let unwrappedString = optionalString! // "Hello" değerini alır
    // Eğer optionalString == nil ise, hata oluşur
    
  2. Opsiyonel bağlama (Optional binding) if let veya guard let:

    var anotherOptionalString: String? = "World"
    if let guaranteedString = anotherOptionalString {
        // Bu blok içinde, guaranteedString String türündedir (unwrap edilmiştir)
        print(guaranteedString)
    }
    
  3. Opsiyonel zincirleme (Optional chaining) ?:

    class MyClass { var property: String? }
    var instance: MyClass? = MyClass()
    instance?.property = "Value" // Eğer instance nil değilse, özellik atanır
    let retrievedValue = instance?.property // retrievedValue String? türündedir
    
  4. Nil birleştirme operatörü (Nil-coalescing operator) ??:

    var yetAnotherOptionalString: String? = nil
    let defaultValue = yetAnotherOptionalString ?? "Default" // defaultValue "Default" olur
    // Eğer yetAnotherOptionalString bir değer içeriyorsa, o kullanılırdı
    

Swift bağlamında, wrapped değeri, opsiyonaldan önce "içinde" bulunan değerdir.