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

Posted

技术标签:

【中文标题】表达式解析为未使用的 I 值【英文标题】:Expression resolves to unused I Value 【发布时间】:2016-04-22 12:25:42 【问题描述】:

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

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

但我不断收到此错误

"

这是当前代码。

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

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

【问题讨论】:

这是什么? button1; button2 IBOutlet var button1: UIButton! IBOutlet var button2: UIButton! 我不是这个意思。 let chicken1 = button1; button2 应该做什么?您不能为单个变量分配多个值(也许您想要元组或数组?) 我正在使用 chicken1 一起更改按钮的背景颜色 【参考方案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

【讨论】:

【参考方案2】:

正如 Arc676 在评论中提到的,您不能为单个变量分配多个值。

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

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

或者如果你有按钮数组:

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

    item.backgroundColor = UIColor.blueColor()

【讨论】:

【参考方案3】:

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的值但是你不要使用它。

【讨论】:

以上是关于表达式解析为未使用的 I 值的主要内容,如果未能解决你的问题,请参考以下文章

具有多个闭包参数的函数给出错误“表达式解析为未使用的函数”

如何在 AngularJS 中为未定义的表达式值显示占位符?

条件判断语句

为啥var i=0;if(i)进不去?i=0又不是i="false"

js方法中return怎么返回值?

Java 计算数学表达式(字符串解析求值工具)