Swift defines kinds of initializers for class types to help ensure all stored properties receive an initial V Alue. These is known as designated initializers and convenience initializers.
Designated: Specified;
Full initialization and partial initialization
Designated initializers and convenience initializers
designated initializers is the primary initializers for a class. A designated initializer fully initializes all properties introduced by this class and calls an appropriate super Class initializer to continue the initialization process up the superclass chain.
Convenience initializers is secondary, supporting initializers for a class. You can define a convenience initializer-a designated initializer from the same class as the convenience Initializ Er with some of the designated initializer ' s parameters set to default values.
Swift language reviews 17-designated initializers and convenience initializers