初始化的过程包括为每一个存储属性设置一个初始值和其他步骤。通过定义构造函数来实现初始化的过程,跟oc的初始化函数不同,Swift的构造函数不返回一个值。它们的主要角色是确保一个类型的实例在初次使用前被正确的初始化。
类的实例也可以有析构函数,析构函数在类的实例在释放前完成一些清理工作。
Setting Initial Values for Stored Properties
类和结构体必须为它们所有的存储属性设置一个初始值,在类或结构体的实例创建完成前。存储属性不能是不确定的状态。
可以通过构造函数或默认值的方式给存储属性一个初始值,而且通过这两种方式,属性的值都是被直接设置,不会调用属性观察者。
Initializers(构造函数)
init() {
}
Customizing Initialization(自定义初始化函数)
你可以自定义初始化过程,通过使用输入参数,可选的属性类型,或者在初始化期间给常量属性赋值。具体描述在下面的部分中描述。
1. Initialization Parameters
你可以为构造函数提供参数,看个例子:
struct Celsius { var temperatureInCelsius: Double init(fromFahrenheit fahrenheit: Double) {
temperatureInCelsius = (fahrenheit - 32.0) / 1.8 } init(fromKelvin kelvin: Double) {
temperatureInCelsius = kelvin - 273.15 } init(_ celsius: 