SwiftUI : Comment implémenter un init personnalisé avec des variables @Binding
Bonjour ! Je suis débutant en SwiftUI et j'essaie de créer une vue personnalisée avec un champ de saisie de texte. J'ai besoin que la vue parente puisse transmettre le contrôle de l'état via @Binding. Mais quand j'essaie d'ajouter un init personnalisé, Xcode râle et dit que la propriété $text n'est pas initialisée. Voici mon code :
struct CustomTextField: View {
@Binding var text: String
var placeholder: String
// J'essaie de faire un init personnalisé
init(placeholder: String, text: Binding<String>) {
self.placeholder = placeholder
self.text = text // Erreur : 'self' used before all stored properties are initialized
}
var body: some View {
TextField(placeholder, text: $text)
.textFieldStyle(RoundedBorderTextFieldStyle())
}
}
Je comprends que @Binding est un property wrapper, mais je n'arrive pas à comprendre comment l'initialiser correctement à l'intérieur d'un init personnalisé.