Sobes.tech
Junior

Qu'est-ce que wrapped?

sobes.tech IA

Réponse de l'IA

wrapped - c'est la valeur d'un type optionnel après une extraction réussie (unwrapping) de son contenu. L'optionnel Optional<<Wrapped>> contient soit une valeur de type Wrapped, soit nil. L'extraction permet d'accéder à la valeur Wrapped si elle existe.

Exemples d'extraction :

  1. Extraction forcée (Force unwrapping) ! :

    var optionalString: String? = "Hello"
    let unwrappedString = optionalString! // Obtient la valeur "Hello"
    // Si optionalString == nil, une erreur se produira
    
  2. Assignation optionnelle (Optional binding) if let ou guard let :

    var anotherOptionalString: String? = "World"
    if let guaranteedString = anotherOptionalString {
        // À l'intérieur de ce bloc, guaranteedString est de type String (décapsulé)
        print(guaranteedString)
    }
    
  3. Chaînage optionnel (Optional chaining) ? :

    class MyClass { var property: String? }
    var instance: MyClass? = MyClass()
    instance?.property = "Value" // Si instance n'est pas nil, la propriété est définie
    let retrievedValue = instance?.property // retrievedValue sera String?
    
  4. Opérateur de fusion avec nil (Nil-coalescing operator) ?? :

    var yetAnotherOptionalString: String? = nil
    let defaultValue = yetAnotherOptionalString ?? "Default" // defaultValue sera "Default" (String)
    // Si yetAnotherOptionalString avait une valeur, elle serait utilisée comme déballée.
    

Dans le contexte de Swift, la valeur wrapped est directement ce qui se trouvait "à l'intérieur" de l'optionnel avant sa manipulation.