2014-06-05 1 views
41

Lorsque j'initialise une instance d'une entité, j'obtiens l'erreur Variable used within its own initial value.Swift Error: Variable utilisée dans sa propre valeur initiale

Voici le code de jeter l'erreur:

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

Les points d'erreur à 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?

+1

Peut-être que vous ne devriez pas appeler l'objet 'word'? – meda

Répondre

48

Vous déclarez une constante nommée word et essayez d'utiliser l'argument avec le même nom pour l'initialiser. Le compilateur essaie d'utiliser la constante juste déclarée pour affecter sa propre valeur initiale, au lieu d'utiliser l'argument.

4

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

8

Vous redéfinissez une word constante qui a le même nom en tant que paramètre de 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

I have faced same error when missing out if while unwrapping the text .

enter image description here

En ajoutant si résolu ci-dessus question.

enter image description here

+3

Merci, eu la même erreur stupide et ne pouvait pas le voir: P –

Questions connexes