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

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

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

但我不断收到此错误

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

这是当前代码。

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 一起更改按钮的背景颜色

标签: ios swift var let


【解决方案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的值但是你不要使用它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-05-30
        • 1970-01-01
        • 2015-06-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-30
        • 1970-01-01
        相关资源
        最近更新 更多