Swift 类的初始化和反初始化
来源:互联网 发布:网络嗅探器用哪个好 编辑:程序博客网 时间:2024/06/06 14:13
以下是一个swift 类的初始化和反初始化。
其中:
1. 在convenience init中一定要调用 init函数,也就是说无论如何调用,类生成的时候init()函数必定执行
2. 将类指向nil时会调用deinit 函数, 该函数可以在类完全消失前做一些操作,比如写入文件
3. 一个类中可以有多个 convenience init,调用方法是由声明函数变量名称决定
import Foundation
class Sample
{
var a:Int?
init()// this is the init function, set a =0, will execute ervery time
{
a = 0
print("class inited a value set to\(a)")
}
convenienceinit(b:Int)//First convenience init function use a as variable, set the value to b
{
self.init()// this is needed
a = b
print("I wast inited by convenence init\(a)")
}
convenienceinit(c:Int)// Second convenience init function, swift allow 2 init function have the same kind of variable
{
self.init()
a = c*10
print("I wast inited by convenence init\(a)")
}
deinit
{
print("class deinited, a value was:\(a);")
}
}
var samClass, samClass2: Sample?
samClass = Sample(b: 1)//print 0 (init), 1 (conveneince init)
samClass = nil //print 1(deinit)
samClass2 = Sample() //print 0(init)
samClass2 = nil //print 0(deninit)
samClass = Sample(c: 1)//print 0(init), 10(convenience init)
samClass = nil //print 10(deinit)
- Swift 类的初始化和反初始化
- Swift - 类初始化和反初始化方法
- 《初始化和反初始化》
- swift的初始化与反初始化(init, deinit)
- Swift - 类初始化和反初始化方法(init与deinit)
- swift 类和结构的初始化方法
- 【swift】15-0610 下标 继承和扩展 初始化和反初始化
- 15.Swift-反初始化过程Deinitialization
- Swift 系统学习 23 类的声明和初始化
- Swift的初始化方法
- [Swift]Swift的初始化方法
- 类的初始化和对象的初始化
- swift初始化
- Swift 初始化
- 不使用ACE_Main的情况下初始化ACE和反初始化ACE
- The Swift Programming Language--语言指南--反初始化
- Swift中创建Array和Dictionary的初始化
- swift笔记之新项目中navigationController的创建和初始化
- 《动态规划》hdoj acm 3.2.4 最长有序子序列
- java中对类之间的继承和可调用性的摸索
- define后面的\表示什么?
- kiz挖矿赚钱是真的吗?kiz挖矿赚钱注册地址是多少?
- 48.Oracle数据库SQL开发之 子查询——编写单行子查询
- Swift 类的初始化和反初始化
- poj 2250 Compromise(LCS)
- 49.Oracle数据库SQL开发之 子查询——编写多行子查询
- 50.Oracle数据库SQL开发之 子查询——编写多列子查询
- AndroidStudio使用gradle打包并实现多渠道打包
- Codeforces 595B Pasha and Phone 【数学计数】
- Reverse Nodes in k-Group
- 51.Oracle数据库SQL开发之 子查询——编写关联子查询
- Android-在 GreenDao 数据库中添加默认值