Swift 错误:在其自己的初始值中使用的变量
Posted
技术标签:
【中文标题】Swift 错误:在其自己的初始值中使用的变量【英文标题】:Swift Error: Variable used within its own initial value 【发布时间】:2014-06-05 02:21:22 【问题描述】:当我初始化一个实体的实例时,我收到了错误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
?
【参考方案1】:
您正在声明一个名为word
的常量,并尝试使用同名的参数来初始化它。编译器尝试使用刚刚声明的常量来分配自己的初始值,而不是使用参数。
【讨论】:
【参考方案2】:我在打开 if 时遇到了同样的错误 文字。
如果解决了上述问题,则添加。
【讨论】:
谢谢,犯了同样愚蠢的错误,看不到:P【参考方案3】:您正在重新定义一个常量word
,它与您的函数中的参数同名
class func buildWordDefinition (word:String, language:Language, root:TBXMLElement) -> WordDefinition
// same name as the parameter here
let word = WordDefinition(word: word, language: language)
【讨论】:
【参考方案4】:您在作用域中有一个名为word
的函数参数,并且您正在尝试创建一个同名的常量。将您的常量命名为 word
以外的其他名称。
【讨论】:
以上是关于Swift 错误:在其自己的初始值中使用的变量的主要内容,如果未能解决你的问题,请参考以下文章
Swift-错误:在初始化之前使用了变量“self.___”
Swift 5 LLDB 错误:警告:<EXPR>:12:9:警告:变量“$__lldb_error_result”的初始化从未使用过