繁体   English   中英

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

[英]Expression resolves to unused I Value

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

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

但我一直收到这个错误

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

这是当前的代码。

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

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

AFAIK,这不可能像你想要的那样。

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

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

你得到这个错误的原因是因为这一行

let chicken1 = button1; button2

是相同的

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

斯威夫特实际上并不需要; 像在其他语言中一样在一行的末尾。 通过添加; ,你告诉Swift你想在一行上有多个表达式。

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

由于Arc676提到注释,您无法为单个变量分配多个值。

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

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

或者如果你有按钮数组:

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

    item.backgroundColor = UIColor.blueColor()
}

对于Swift 3 Xcode 8,请使用以下代码

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

或者如果你有按钮数组:

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

暂无
暂无

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

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