2014-06-05 17 views
41

Bir varlığın örneğini başlatırken Variable used within its own initial value hatasını alıyorum. word değişkenin deSwift Error: Kendi başlangıç ​​değeri içinde kullanılan değişken

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

hata puanı:

İşte hatayı atma kodudur.

class WordDefinition { 
    let word: String 
    let language: Language 

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

bu hata ne anlama geliyor: İşte

WordDefinition sınıftır?

+1

Belki nesne 'kelime' çağrı olmamalı? – meda

cevap

48

word adında bir sabit bildiriyorsunuz ve ilklendirmek için aynı ada sahip argümanı kullanmaya çalışıyorsunuz. Derleyici, argümanı kullanmak yerine, sadece kendi başlangıç ​​değerini atamak için bildirilen sabiti kullanmaya çalışır.

4

Kapsam içinde word adlı bir işlev parametreniz var ve aynı ada sahip bir sabit oluşturmaya çalışıyorsunuz. Sabitinizi word'dan farklı bir şekilde adlandırın.

8

Sen konuyla yukarıda çözülmesi halinde ekleyerek sizin fonksiyonu

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

içinde bir parametre olarak aynı ada sahip bir sabit word yeniden tanımlıyor.

enter image description here

+3

Teşekkürler, aynı aptal hata vardı ve göremedim: P –