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,不然反初始化方法不会被调用
- swift0001
- T系列T-Swift0001
- 用ionic 创建新项目
- CountDownTimer在适配器中的使用
- springMVC spring-servlet.xml配置详细
- window.history.go()方法
- C++11快餐教程(1)-通过using定义类型的别名
- swift0001
- android developer tiny share-20160912
- Linux常用操作命令
- C#的DrawString
- freemaker、velocity、jsp
- 批量删除sap物料
- 在浏览器中输入网址后都发生了什么
- Mybatis基础知识(1)
- JAVA 通过 CLI调用 FFmpeg