2014-06-05 9 views
41

엔티티의 인스턴스를 초기화 할 때 Variable used within its own initial value 오류가 발생합니다. word 변수에신속 오류 : 자체 초기 값 내에서 사용되는 변수

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

오류 지점 :

다음은 오류를 던지는 코드입니다.

class WordDefinition { 
    let word: String 
    let language: Language 

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

이 오류가 무엇을 의미 하는가 : 여기

는 WordDefinition 클래스입니다?

+1

어쩌면 당신은 개체'word' 전화 야해? – meda

답변

48

word이라는 상수를 선언하고 초기화 할 때 동일한 이름의 인수를 사용하려고합니다. 컴파일러는 방금 선언 된 상수를 사용하여 인수를 사용하는 대신 자체 초기 값을 할당하려고합니다.

4

범위에 word이라는 함수 매개 변수가 있으며 동일한 이름의 상수를 만들려고합니다. 상수 이름을 word 이외의 이름으로 지정하십시오.

8

당신은 문제보다 해결하면 추가하여 기능

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

내에서 매개 변수와 같은 이름을 가진 일정한 word을 재정의합니다.

enter image description here

+3

감사합니다. 같은 어리석은 실수가 있었고 그것을 볼 수 없었습니다 : P –