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

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
主站蜘蛛池模板: 烟台市| 营口市| 宾阳县| 西宁市| 高台县| 浪卡子县| 甘德县| 高陵县| 甘谷县| 衢州市| 丰宁| 安阳市| 东丽区| 九龙县| 固镇县| 廉江市| 永昌县| 闽侯县| 宝山区| 崇州市| 卢湾区| 崇义县| 乳山市| 凤冈县| 城步| 城固县| 玉屏| 永济市| 新巴尔虎右旗| 呼图壁县| 宁波市| 高州市| 盱眙县| 平凉市| 德阳市| 阿克苏市| 敖汉旗| 大城县| 黔西县| 德庆县| 铁岭县|