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

自定义便利构造器方法

作者: 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)

相关文章

  • UIViewController

    初始化 ① 自定义指定构造器方法 ② 便利构造器方法

  • 自定义便利构造器方法

    .为了代码的方便性,在objective-C可以自定义返回值为id和instancetype类型的类方法,也叫+方...

  • Swift初始化init中的一些坑

    自定义控件初始化中常见的几种错误(指定构造器和便利构造器)截图: 意思是:为初始化父类的init方法 意思是:必须...

  • Swift中重写`init( )`方法时无需调用`super.i

    根据Swift的构造器生成规则: 如果自定义指定构造器,必须在自定义构造方法里调用父类的指定构造器; 如果自定义便...

  • Swift面向对象

    创建一个类 类的四种属性 类的构造 swift类构造过程 指定构造器 便利构造器 KVC构造器 实例方法和类方法 ...

  • Swift 定义枚举类

    添加构造器 便利构造器

  • swift构造器使用规则

    一个类至少有一个指定构造器,大于等于零个遍历构造器 convenience 标示的构造器方法为便利构造器 子类可以...

  • Java-基础-构造方法

    一、构造方法 自定义了一个构造方法,那么,编译器就不再自动创建默认构造方法: 不是任何class都有构造方法?是的...

  • 构造方法

    构造方法A.指定构造方法;B.便利构造方法; 关系:A.子类的指定构造方法必须调用父类的构造方法;B.便利构造方法...

  • 代码规范

    自定义控件 在构造方法中添加子控件提供便利构造类方法 一般以类名命名init 方法内部会自动调用 initWith...

网友评论

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

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