首页 > 代码库 > 十三、初始化 Initialization

十三、初始化 Initialization

1. 概述

通过定义构造器 initializers 创建类、结构体和枚举的一个实例。与Objective-C的 initializers 不同的是,Swift中的 initializers 没有返回值。

类类型 class types 的实例也可以实现析构器 deinitializer,在类被释放之前,进行清理工作。

 

2. stored properties的初始化(Setting Initial Values for Stored Properties)

类和结构体的 stored properties 在他们的实例被创建的时候,就必须有合适的值。

你可以在构造器中初始化他们,也可以在定义的时候给他们设置默认值。

注意:当给 stored property 初始化的时候,不论是使用默认值初始化,还是调用构造器初始化,都不会调用属性监视器。

 

2.1 构造器 Initializers

构造器是使用 init 关键字定义的没有参数的方法,用来创建某种类型的实例:

    init() {      // perform some initialization here    }

如:

    struct Fahrenheit {  //华氏温度      var temperature: Double      init() {        temperature = 32.0      }    }    var f = Fahrenheit()    println("The default temperature is \(f.temperature)° Fahrenheit")    // prints "The default temperature is 32.0° Fahrenheit"

 

2.2 默认参数值 Default Property Values

当某个参数总是有某个相同的初始化值时,使用默认参数值比在构造器中初始化它要好。当然他们的结果是一样

    struct Fahrenheit {      var temperature = 32.0    }

 

3. 自定义初始化方法 Customizing Initialization

下面的例子定义了结构体Celsius的两个初始化器,用于初始化不同范围的温度:

 

十三、初始化 Initialization