0
說我有很多函數返回多個UIColor
。讓我們來看看其中的一個:如何使用擴展來簡化Swift代碼?
func deepSkyBlue() -> UIColor {
return UIColor(red: 0, green: 0.69, blue: 0.98, alpha: 1)
}
我所有的功能都alpha
等於1.0,所以它會是有意義的使用擴展,完全忽略一個參數。我怎樣才能做到這一點?
說我有很多函數返回多個UIColor
。讓我們來看看其中的一個:如何使用擴展來簡化Swift代碼?
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)
}
什麼是編譯器錯誤? –
'在調用中缺少參數'alpha'的參數。實際上,我仍然需要找到一種方法將'neverAlpha'代碼嵌入到我的'UIColor'函數中。謝謝! – Cesare
所以編譯器錯誤不是用於'neverAlpha',而是用於'deepSkyBlue'? –