Swift错误:在自己的初始值内使用的variables
当我初始化一个实体的实例时,我得到错误的Variable used within its own initial value
。
这里是抛出错误的代码:
class func buildWordDefinition (word:String, language:Language, root:TBXMLElement) -> WordDefinition { let word = WordDefinition(word: word, language: language)
word
variables的错误点。
这是WordDefinition类:
class WordDefinition { let word: String let language: Language init(word: String, language:Language) { self.word = word self.language = language } }
这个错误是什么意思 ?
您正在声明一个常量的名字,并尝试使用具有相同名称的参数来初始化它。 编译器试图使用刚刚声明的常量来分配自己的初始值,而不是使用参数。
您正在重新定义一个与您的函数中的参数具有相同名称的常量word
class func buildWordDefinition (word:String, language:Language, root:TBXMLElement) -> WordDefinition { // same name as the parameter here let word = WordDefinition(word: word, language: language)
你有一个名为word
的函数参数,你正在尝试创build一个同名的常量。 给你的常量命名,而不是word
。
如果在解开文本时错过了,我也面临同样的错误。
通过添加如果解决了上述问题。