官术网_书友最值得收藏!

Initialization

The process of preparing an instance of a class, structure, or enumeration for use is called initialization. Classes and structures must set all of their stored properties to an appropriate initial value by the time an instance of that class or structure is created. Stored properties cannot be left in an intermediate state. We can modify the value of a constant property at any point during initialization as long as it is set to a definite value by the time initialization finishes. Swift provides a default initializer for any structure or base class that provides default values for all of its properties and does not provide at least one initializer itself. Consider the following example:

class ShoppingItem { 
var name: String?
var quantity = 1
var purchased = false
}
var item = ShoppingItem()

The struct types automatically receive a member-wise initializer if we do not define any of our own custom initializers, even if the struct's stored properties do not have default values.

Swift defines two kinds of initializers for class types:

  • Designated initializers: Methods that are able to fully initialize the object
  • Convenience initializers: Methods that rely on other methods to complete initialization
主站蜘蛛池模板: 封开县| 重庆市| 云龙县| 高台县| 四川省| 龙门县| 女性| 柳州市| 仁化县| 鹤壁市| 吉林省| 瑞丽市| 庐江县| 莱芜市| 丹东市| 平利县| 榕江县| 兴化市| 宁德市| 安康市| 都安| 诏安县| 玉树县| 云和县| 施甸县| 牙克石市| 张家港市| 溧阳市| 西华县| 榆林市| 二手房| 建湖县| 无棣县| 望都县| 漳浦县| 辽阳县| 牡丹江市| 宜都市| 嘉善县| 武功县| 高阳县|