簡體   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