Usare @propertyWrapper in Swift

Mattepuffo's logo
Usare @propertyWrapper in Swift

Usare @propertyWrapper in Swift

Una propertyWrapper in Swift ci indica come una determinata proprietà viene salvata/manipolata all'interno del nostro programma.

Viene usata spesso anche per gestire eventuali state.

In realtà detto così non significa granchè, quindi vediamo un esempio per capire meglio.

Supponiamo di avere una struct Persona e di voler mettere la prima lettera in maiuscolo del nome in "automatico":

import Foundation

@propertyWrapper
struct Capitalized {
    var wrappedValue: String {
        didSet { wrappedValue = wrappedValue.capitalized }
    }
    
    init(wrappedValue: String) {
        self.wrappedValue = wrappedValue.capitalized
    }
}

struct Persona {
    @Capitalized var nome: String
}

var p = Persona(nome: "matteo")
print(p.nome)

Abbiamo creato una struct segnata con @propertyWrapper.

Poi abbiamo "segnato" la proprietà nome con quella struct.

Enjoy!


Condividi

Commentami!