swift0001

前端之家收集整理的这篇文章主要介绍了swift0001前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

关键字:

init初始化

定义使用类初始化,默认初始化方法,便利初始化方法,使用闭包

注意:1:没有返回值,不需要加func,使用对象属性之前必须对属性初始化

使用:

var a:Int

init(){

a=0;//在上面没有初始化必须在这初始化不然报错,提示未初始化

}

当声明为强制解包可选(!)可以不用初始化方法

如:

var a:Int

init(ma:Int){

a=ma;

}

默认初始化:

class test{

var a="xxx" //对类存储属性初始化赋值

var b:Int? //对类存储属性设置为可选

var c:Int! //对类存储属性设置为强制解包可选

便利初始化方法及重载:

在便利初始化方法的实现里面必须调用一个其他的初始化方法,在func前面添加convenience 关键字即可

class test{

var a:int

init(a:Int){

self.a=a

convenience init(a b :Int){

self.init(a:b)//在便利初始化方法的实现里面必须调用一个其他的初始化方法

}

convenience init(b :Int){

self.init(a:b)//在便利初始化方法重载

}

了解使用闭包(如果某个存储属性的默认值需要特别定制或者准备,那么久可以使用闭包来初始化这个属性的默认值)

注意:闭包要添加(),告诉swift要立即执行这个闭包,否则会把本身作为赋值给属性而报错

deist反初始化方法

初始化方法是为了类创建对象的时候,使用对象属性对其属性赋初始值,那么当你这个对象销毁的使用,也要对属性进行释放。减少资源浪费。
注意点
要把对象设置为nil,不然反初始化方法不会被调用

原文链接:https://www.f2er.com/swift/323063.html

猜你在找的Swift相关文章