[英]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.