自定义便利构造器方法

.为了代码的方便性,在objective-C可以自定义返回值为id和instancetype类型的类方法,也叫+方法,而在swift中,我们可以定义便利构造器,关键字convenience.
.比如我们在给view设置自定义背景颜色或者给文字设置自定义字体颜色等时,UI给我们的颜色值往往是一些类似于"fc5912"或者"FC5912"的16进制的数字串,为了方便,我们就需要传相应的颜色值去得到UIColor对象,这时候便利构造器就派上用场了。示例代码如下:

extension UIColor {
  convenience init(_ red: Int, _ green: Int, _ blue: Int, _ alpha: CGFloat = 1.0) {
assert(red >= 0 && red <= 255, "Invalid red component")
assert(green >= 0 && green <= 255, "Invalid green component")
assert(blue >= 0 && blue <= 255, "Invalid blue component")
self.init(red: CGFloat(red) / 255.0, green: CGFloat(green) / 255.0, blue: CGFloat(blue) / 255.0, alpha: alpha)
  }
convenience init(_ hexValue:Int) {
self.init((hexValue >> 16) & 0xff, (hexValue >> 8) & 0xff, hexValue & 0xff)
  }
}
//699F38 105 159 56
let titleColor = UIColor(105, 159, 56)
let backColor = UIColor(0x699f38)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容