Swift 使用var时调用中的额外参数

Swift 使用var时调用中的额外参数,swift,Swift,我正在尝试使用以下代码: 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) 工作正常吗?在调用中的分

我正在尝试使用以下代码:

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)

工作正常吗?

在调用中的分号后面加一个空格

green: 0, alpha: alpha
答案是:

使用浮点而不是整数

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

当您打开未声明为可选的a
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)

如果您使用的是变量,请使用以下内容-

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

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

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

“而且,为什么[…]工作正常?”的可能重复项,因为
alpha
Float
,而不是
CGFloat
(参见重复项)。哈,我没有找到这个答案!谢谢:)。。。错误消息没有那么大的帮助:pIt的所有参数和基本类型。