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
的两个初始化器,用于初始化不同范围的温度:
时间: 2024-11-13 07:36:55