繁体   English   中英

Swift Error:变量在其自己的初始值内使用

[英]Swift Error: Variable used within its own initial value

当我正在初始化实体的实例时,我得到的错误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变量。

这是WordDefinition类:

class WordDefinition {
    let word: String
    let language: Language

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

这个错误是什么意思 ?

您正在声明一个常量命word ,并尝试使用具有相同名称的参数来初始化它。 编译器尝试使用刚刚声明的常量来分配自己的初始值,而不是使用参数。

如果在解开文本时错过了,我遇到了同样的错误。

在此输入图像描述

通过添加if解决上述问题。

在此输入图像描述

您正在重新定义一个与函数中的参数同名的常量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的函数参数,并且您正在尝试创建具有相同名称的常量。 将你的常量命名为除了word以外

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM