美文网首页
自定义便利构造器方法

自定义便利构造器方法

作者: michael_fang | 来源:发表于2016-10-15 15:45 被阅读10次

    .为了代码的方便性,在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)

    相关文章

      网友评论

          本文标题:自定义便利构造器方法

          本文链接:https://www.haomeiwen.com/subject/nktoyttx.html