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!
swift struct propertyWrapper
Commentami!