Swift学习:初始化器和析构器

1.初始化器

1.1.基本知识点

1.1.1.==是一个特殊的函数,无返回值和 func ==
1.1.2.==只有实例初始化器,没有类型初始化器==
1.1.3.实例属性有两种初始化形式:赋值和初始化器
1.1.4.==可选属性类型可以不初始化==

var no:Int?

实际上是初始化为 nil
1.1.5.不触发属性观察者
1.1.6.==一个类至少需要一个初始化器==

1.2.指定初始化器vs便捷初始化器

1.2.1.指定初始化器

  • Designated Initializer
  • 类的主初始化器,负责初始化所有属性
  • ==必须调用父类的主初始化器==

1.2.2.便捷初始化器

  • Convenience Initializer
  • 类的辅助初始化器
  • 必须调用同类的指定初始化器
  • ==就是初始化器调用初始化器==
    convenience init(x:Int) {
        self.init()
    }

2.析构器

2.1.==用于释放实例使用的非内存资源==

    deinit{...}

2.2.==只能有一个析构器,只用于 class==
2.3.==不能手动调用==

你可能感兴趣的:(Swift学习:初始化器和析构器)