【问题标题】:Extra argument in call when using var使用 var 时调用中的额外参数
【发布时间】:2014-08-09 11:56:49
【问题描述】:

我正在尝试使用此代码:

var alpha : Float
alpha = 0.5
self.view.backgroundColor = UIColor(red: 1, green:0, blue: 0, alpha:alpha)

但是,我得到了错误:

调用中的额外参数“绿色”

这段代码有什么问题?而且,为什么是

self.view.backgroundColor = UIColor(red: 1, green:0, blue: 0, alpha: 0)

工作正常吗?

【问题讨论】:

标签: swift


【解决方案1】:

答案是:Swift UIColor initializer - compiler error only when targeting iPhone5s

使用浮点数而不是整数。

UIColor(red: 1.0, green:0.0, blue: 0.0, alpha:alpha)

【讨论】:

  • 都是关于参数和原始类型的。
【解决方案2】:

当您打开未声明为可选的 UIColor 实例时也会发生这种情况。

代替:

let brokenColor = UIColor(red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0)!

使用这个:

let color: UIColor! = UIColor(red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0)

【讨论】:

    【解决方案3】:

    如果您使用变量,请使用以下 -

    var color: UIColor = UIColor(red: CGFloat(red), green: CGFloat(green), blue: CGFloat(blue), alpha: CGFloat(alpha))
    

    【讨论】:

      【解决方案4】:

      当我试图设置按钮的边框颜色时,我的这个错误的特定迭代发生了,并且得到了“调用中的额外参数'绿色'”错误,但是一旦我将它存储在一个常量中,就会出现真正的错误,这是常数不是 CGColor。所以这修复了它。

        let borderColor:UIColor = UIColor(red: 23/255, green: 247/255, blue: 252/255, alpha: 1)
        loginButton.layer.borderColor = borderColor.CGColor
      

      【讨论】:

        【解决方案5】:

        在分号后加一个空格

        green: 0, alpha: alpha
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-03-08
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多