如何使用扩展来简化 Swift 代码?
How to use extensions to simplify Swift code?
假设我有很多 return 多于一个 UIColor
的功能。让我们来看看其中的一个:
func deepSkyBlue() -> UIColor {
return UIColor(red: 0, green: 0.69, blue: 0.98, alpha: 1)
}
我的所有函数的 alpha
都等于 1.0,因此使用扩展并完全省略一个参数是有意义的。我该怎么做?
如果我们希望在不将 alpha
传递给 UIColor
构造函数时将其假定为 1.0,我们需要做的就是在扩展中添加一个新的构造函数。
extension UIColor {
convenience init(red: CGFloat, green: CGFloat, blue: CGFloat) {
self.init(red: red, green: green, blue: blue, alpha: 1.0)
}
}
现在我们可以使用您尝试使用的三参数构造函数:
static func deepSkyBlue() -> UIColor {
return UIColor(red: 0, green: 0.69, blue: 0.98)
}
假设我有很多 return 多于一个 UIColor
的功能。让我们来看看其中的一个:
func deepSkyBlue() -> UIColor {
return UIColor(red: 0, green: 0.69, blue: 0.98, alpha: 1)
}
我的所有函数的 alpha
都等于 1.0,因此使用扩展并完全省略一个参数是有意义的。我该怎么做?
如果我们希望在不将 alpha
传递给 UIColor
构造函数时将其假定为 1.0,我们需要做的就是在扩展中添加一个新的构造函数。
extension UIColor {
convenience init(red: CGFloat, green: CGFloat, blue: CGFloat) {
self.init(red: red, green: green, blue: blue, alpha: 1.0)
}
}
现在我们可以使用您尝试使用的三参数构造函数:
static func deepSkyBlue() -> UIColor {
return UIColor(red: 0, green: 0.69, blue: 0.98)
}