iOneWay Blog

天道地道,自求我道

QQ:373850874. 欢迎加入。


Swift 初始化器

Swift初始化器有两种:指定初始化器(Designated Initializer)和便利初始化器(Convenience Initializer).

指定初始化器

指定初始化器是类的最主要的初始化器,它会将类中所有属性赋值初始化,并且一路往上调用父类的指定初始化器去初始化它们各自引入的属性。类有且至少要有一个指定初始化器

便利初始化器

便利初始化器就是方便开发者调用的初始化器,它必须调用同个类的指定初始化器,提供一些默认的参数给指定初始化器来生成一个默认的类的实例。一个类可以没有便利初始化器

初始化器之间的相互调用关系,必须遵守一下原则:

  • 指定初始化器必须调用其父类的指定初始化器
  • 便利初始化器必须调用该类中另一个初始化器
  • 便利初始化器最终必须调用一个指定初始化器

简单说:就是指定初始化器必须在类的继承关系中一路向上调用,便利初始化器必须在该类中一路往指定初始化器调用。

如图:

init_use

最近的文章

Swift 最佳实践(一)

Swift已经问世有一段时间了,各种优秀的第三方库都陆续出现,以及学习网站都加大了对Swift的推广力度,就连一向傲慢的苹果也为推广Swift专门设立了一个Bolg。还有不少大神都发文看好Swift发…

继续阅读
更早的文章

Swift 中Enums, Structs, Classes的理解

原文地址:https://www.raywenderlich.com/119881/enums-structs-and-classes-in-swift 回想只使用OC语言进行开发的时候,封装功能被限…

继续阅读