swift0001

来源:互联网 发布:矩阵乘法公式 编辑:程序博客网 时间:2024/05/16 11:39

关键字:

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,不然反初始化方法不会被调用 


0 0
原创粉丝点击