表达式解析为未使用的I值

时间:2016-01-17 07:01:11

标签: ios swift var let

我是Swift的新手,我正在尝试更改按钮的背景颜色。

我正在使用chicken1一起更改按钮的背景颜色

但我一直收到这个错误

  

表达式解析为未使用的I值“

这是当前的代码。

let chicken1 = button1; button2
chicken1.backgroundColor = UIColor.blueColor()

我还应该使用'var'insted吗?

3 个答案:

答案 0 :(得分:5)

AFAIK,这不可能是你尝试这样做的方式。

一个选项是遍历所有按钮并更改循环中的背景颜色。

for button in [button1, button2]{
    button.backgroundColor = UIColor.blueColor()
}

您收到此错误的原因是因为此行

let chicken1 = button1; button2

相同
let chicken1 = button1
button2 //this value isn't used

Swift实际上并不像其他语言那样在一行的末尾需要;。通过添加;,您可以告诉Swift您希望在一行上有多个表达式。

第二行没有任何事情因为没有函数调用而没有赋值,所以它就像你想获取值一样button2,但你没有使用它。

答案 1 :(得分:2)

正如Arc676提到注释时,您无法为单个变量分配多个值。

因此,实现这一目标的第一种方法是您可以单独设置背景颜色,如下所示:

button1.backgroundColor = UIColor.blueColor()
button2.backgroundColor = UIColor.blueColor()

或者如果您有按钮数组:

let chicken1 = [button1, button2]
for item in chicken1 {

    item.backgroundColor = UIColor.blueColor()
}

答案 2 :(得分:1)

对于Swift 3 Xcode 8使用下面的代码

button1.backgroundColor = UIColor.blue
button2.backgroundColor = UIColor.blue

或者如果您有按钮数组:

let chicken1 = [button1, button2]
for item in chicken1 {
    item.backgroundColor = UIColor.blue
}