在Swift上初始化不可变值错误?

时间:2016-01-13 21:28:54

标签: swift for-in-loop

我正在尝试创建一个应用程序,您可以在其中选择您感兴趣的化学类型,它将为您提供有关该类型的信息。唯一的问题是我收到一条错误消息,说明以下内容:

Initialization of immature value 'chemistry' was never used.

在这段代码上:

override func viewDidLoad() {
    super.viewDidLoad()
    chemistryArray = [chemistryLabel0, chemistryLabel1, chemistryLabel2, chemistryLabel3, chemistryLabel4]

    for index in 0..<chemistryArray.count {

        let chemistry = chemistryArray[index]
    }
}

在这一行:

let chemistry = chemistryArray[index]

我想知道此错误消息的含义以及解决方法。

任何建议或意见都表示赞赏 提前致谢

2 个答案:

答案 0 :(得分:0)

我认为每个其他循环都会再次声明chemistry并且永远不会在循环中使用它。正如我所纠正的那样,这个变量不在for-loop的范围之内。

因此for循环的目的是模棱两可的。

抱歉,我宁愿发表评论,但我还不能。

答案 1 :(得分:0)

正如 Martin R 已经解释过的那样,您正在声明并填充常量chemistry您没有使用它

由于{ }for loop的{​​{1}}内声明,因此它仅存在于该范围内。

所以编译器,看着你的代码,无法弄清楚(我也不知道)你的代码的含义,它正在产生警告以引起你的注意。

换句话说,编译器会告诉你类似的东西:

  亲爱的编码员,

     

我将编译此代码,但您确定它是正确的吗?因为这条指令对我没有意义。

     

此致

     

编译器

修复

要修复警告,您只需使用常量或删除它。

现在我的问题

为什么要声明并填充常量并且您没有使用它?