Swift5.1构造过程&析构过程

2020-09-15  本文已影响0人  037e3257fa3b

14.构造过程

1.构造过程是使用类、结构体或枚举类型的实例之前的准备过程;

2.类和结构体在创建实例时,必须为所有存储型属性设置合适的初始值。存储型属性的值不能处于一个未知的状态。你可以在构造器中为存储型属性设置初始值,也可以在定义属性时分配默认值

3.构造器
构造器在创建某个特定类型的新实例时被调用。它的最简形式类似于一个不带任何形参的实例方法,以关键字 init 命名:
init(){
    //此处执行构造过程
}

4.自定义构造过程
//构造过程中常量属性的赋值
你可以在构造过程中的任意时间点给常量属性赋值,只要在构造过程结束时它设置成确定的值。一旦常量属性被赋值,它将永远不可更改。

5.默认构造器:如果结构体或类为所有属性提供了默认值,⼜没有提供任何自定义的构造器,那么 Swift 会给 这些结构体或类提供一个默认构造器。这个默认构造器将简单地创建一个所有属性值都设置为它们默认值的实例。
class ShoppingListItem { 
    var name: String? 
    var quantity = 1
    var purchased = false
}
var item = ShoppingListItem()

6.可失败构造器
给构造器传⼊无效的形参,或缺少某种所需的外部资源,又或是不满⾜某种必要的条件等,为了妥善处理理这种构造过程中可能会失败的情况。你可以在⼀个类,结构体或是枚举类型的定义中,添加一个或多个可失败构造器。其语法为在 init 关键字后面添加问号( init? )。
class Product {
    let name: String
    init?(name: String) {
        if name.isEmpty { return nil } 
        self.name = name
    } 
}

15.构析过程

上一篇下一篇

猜你喜欢

热点阅读