便利初始化器(Swift Day1)


在里面:

指定的初始化器是类的主要初始化器。 指定的初始化程序将完全初始化该类引入的所有属性,并调用适当的超类初始化程序以继续超类链中的初始化过程。

convenience init

便捷初始化器是辅助的,支持类的初始化器。 您可以定义一个便捷初始化程序,以从与便捷初始化程序相同的类中调用一个指定初始化程序,并将某些指定初始值设定项的参数设置为默认值。

在上面的示例中,基本上,指定的初始化程序是init(type: String) ,它确保所有存储的属性都已初始化。 Music类没有超类,因此init(type:String)初始化程序不需要调用super.init()即可完成其初始化。

便捷初始化程序,不带任何参数,通过使用指定的初始化程序,将type存储属性的值自动设置为“ Jazz" 。 便利的初始化程序需要self.init来调用它。

现在我们有了创建UIColor的便利初始化,并且如示例2所述,事情非常简单。 我们只需要在创建UIColor的UIColor Extensiom中添加便便性初始化即可。

 让BlueColor = UIColor(红色:30/255,绿色:55/255,蓝色:255/255,alpha:1) 

扩展UIColor {
便利初始化(r:CGFloat,g:CGFloat,b:CGFloat){
self.init(红色:r / 255,绿色:g / 255,蓝色:b / 255,alpha:1)
}
}

让myFavblueColor = UIColor(r:30,g:55,b:255)

我编写了上面的代码,以提供更方便的方式来声明自定义uicolor。

结论