本文概述
Swift类, 结构和枚举用于准备在Swift4中声明的类的实例。为存储的属性初始化初始值。值被初始化以进一步进行。 ” init()”方法用于创建初始化函数。 Swift 4初始化程序与Objective-C不同, 因为它不返回任何值。它的功能是在处理之前检查新创建实例的初始化。一旦实例被释放, Swift 4还提供了”反初始化”过程来执行内存管理操作。
存储属性的初始化
存储的属性必须在处理实例之前为其类和结构初始化实例。存储的属性使用初始化程序来分配和初始化值, 而无需调用属性观察器。
- 创建一个初始值。
- 在属性定义内分配默认属性值。
- 要为特定数据类型初始化实例, 请使用” init()”。没有参数传递给init()函数内部。
句法:
init() {
//New Instance initialization goes here
}
例子
struct cube {
var length: Double
var breadth: Double
var height: Double
init() {
length = 6
breadth = 12
height = 4
}
}
var volume = cube()
print("volume of cube is \(volume.length*volume.breadth*volume.height)")
输出
volume of cube is 288.0
这里,
- 使用成员长度, 宽度和高度将结构”多维数据集”初始化为”双精度”数据类型。
- Init()方法用于初始化新创建的成员的值。
- 通过调用多维数据集函数来计算并返回多维数据集的体积。
默认设置属性值
在Swift4编程语言中, init()函数用于在声明类或结构成员时默认情况下初始化属性值。当属性在整个程序中单独具有相同的值时, 我们可以在声明部分中单独声明它, 而不用在init()中对其进行初始化。当为类或结构定义继承时, 默认情况下设置属性值将启用用户。
例:
struct cube {
var length = 6
var breadth = 12
var height = 4
}
var volume = cube()
print("volume of the cube is \(volume.length*volume.breadth*volume.height)")
输出
volume of cube is 288
参数初始化
在Swift4语言中, 用户可以使用init()将参数初始化为初始化程序定义的一部分。
例:
struct Rectangle {
var length: Double
var breadth: Double
var area: Double
init(fromLength length: Double, fromBreadth breadth: Double) {
self.length = length
self.breadth = breadth
area = length * breadth
}
init(fromL l: Double, fromB b: Double) {
self.length = l
self.breadth = b
area = l * b
}
}
let a1 = Rectangle(fromLength: 6, fromBreadth: 12)
print("area is: \(a1.area)")
let a2 = Rectangle(fromL: 36, fromB: 12)
print("area is: \(a2.area)")
输出
area is: 72.0
area is: 432.0