你不能这样做,你必须选择不同的参数名称来创建自己的初始化器。你也可以使它们成为通用的,以接受任何BinaryInteger或BinaryFloatingPoint类型。
extension UIColor {
convenience init<T: BinaryInteger>(r: T, g: T, b: T, a: T = 255) {
self.init(red: .init(r)/255, green: .init(g)/255, blue: .init(b)/255, alpha: .init(a)/255)
}
convenience init<T: BinaryFloatingPoint>(r: T, g: T, b: T, a: T = 1.0) {
self.init(red: .init(r), green: .init(g), blue: .init(b), alpha: .init(a))
}
}
let green1 = UIColor(r: 0, g: 255, b: 0, a: 255)
let green2 = UIColor(r: 0, g: 1.0, b: 0, a: 1.0)
let red1 = UIColor(r: 255, g: 0, b: 0)
let red2 = UIColor(r: 1.0, g: 0, b: 0)
a:
而是用opacity:
呢?:p - nacho4d