Avatar ·

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é.