1.构造过程:使用类、结构体、或枚举类型的一个实例准备过程:切无需返回值@H_404_13@
构造器@H_404_13@
init(){@H_404_13@
执行构造过程@H_404_13@
}@H_404_13@
@H_404_13@
1-1:不带参数的init@H_404_13@
struct Fahrenheit {@H_404_13@
var temperature :Double@H_404_13@
init(){@H_404_13@
temperature = 12.0@H_404_13@
var f = Fahrenheit()@H_404_13@
print(f.temperature)@H_404_13@
@H_404_13@
1-2:带参数的init 第一个构造器拥有一个构造参数,其外部名字为 fromFahrenheit,内部名字为 fahrenheit ;第二个构造器也拥 有一个构造参数,其外部名字为 fromK,内部名字为 k@H_404_13@
struct FahreheitTwo {@H_404_13@
var temperateTwo:Double@H_404_13@
init(fromFahrenheit fahrenheit:Double){@H_404_13@
temperateTwo = fahrenheit - 5@H_404_13@
init(fromK k:Double){@H_404_13@
temperateTwo = k - 6@H_404_13@
@H_404_13@
let water = FahreheitTwo(fromFahrenheit:22)@H_404_13@
print(water.temperateTwo)@H_404_13@
1-3:不带外部名字的init用_代替@H_404_13@
init(_ k:Double){@H_404_13@
temperateTwo = k - 6@H_404_13@
1-4:可选属性:类型逻辑上取值可以为空@H_404_13@
class Option {@H_404_13@
let text:String@H_404_13@
var response:String?@H_404_13@
init(text:String){@H_404_13@
self.text = text@H_404_13@
func ask() {@H_404_13@
print(text)@H_404_13@
let result = Option(text:"hello");@H_404_13@
print(result.ask())@H_404_13@
}@H_404_13@
1-5:默认构造器:如果结构体和类的所有属性都有默认值,同时没有自定义的构造器,那么 Swift 会给这些结构体和类创建一个默 认构造器。这个默认构造器将简单的创建一个所有属性值都设置为默认值的实例@H_404_13@