web-dev-qa-db-fra.com

Swift Erreur: Variable utilisée dans sa propre valeur initiale

Lorsque j'initialise une instance d'entité, l'erreur Variable used within its own initial value.

Voici le code générant l'erreur:

class func buildWordDefinition (Word:String, language:Language, root:TBXMLElement) -> WordDefinition
    {
        let Word = WordDefinition(Word: Word, language: language)

L'erreur pointe sur la variable Word.

Voici la classe WordDefinition:

class WordDefinition {
    let Word: String
    let language: Language

    init(Word: String, language:Language)
    {
        self.Word = Word
        self.language = language
    }
}

Que signifie cette erreur ?

60
Francescu

Vous déclarez une constante appelée Word et essayez d'utiliser l'argument du même nom pour l'initialiser. Le compilateur essaie d'utiliser la constante qui vient d'être déclarée pour affecter sa propre valeur initiale, au lieu d'utiliser l'argument.

60
Cezar

J'ai fait face à la même erreur en manquant si tout en déroulant le texte.

enter image description here

En ajoutant si résolu le problème ci-dessus.

enter image description here

16
Shrawan

Vous redéfinissez une constante Word qui porte le même nom qu'un paramètre dans votre fonction

class func buildWordDefinition (Word:String, language:Language, root:TBXMLElement) -> WordDefinition
{
    // same name as the parameter here
    let Word = WordDefinition(Word: Word, language: language)
}
9
Rod

Vous avez un paramètre de fonction appelé Word dans la portée et vous essayez de créer une constante du même nom. Nommez votre constante autre chose que Word.

4
gwcoffey