15.5 Swift隐式强引用
来源:互联网 发布:linux获取cpu个数 编辑:程序博客网 时间:2024/04/28 01:44
/**
15.5-隐式强引用
*/
class Student {
var name:String
init(name:String) {
self.name = name
}
func show() ->Void {
print("name==\(name)")
}
deinit {
print("\(name) deinit!")
}
}
// 此时, stu0和 stu1都引用了同一个对象
var stu0:Student? = Student.init(name:"Tom")
var stu1 = stu0
stu0 = nil
stu1 = nil
/**
上面的这个是显式的强引用
*/
/**
什么是隐式的强引用呢?
对象加入数组中,对象如果是引用数据类型,那么数组会强引用该对象。
数组让该对象的引用计数加1
*/
var stuarray = [Student.init(name:"zhangsan"), Student.init(name:"lisi")]
stuarray[0].name ="zhangsanfeng"
/**
(1)当某个对象不在属于数组时,该对象的引用计数会减1
(2)数组本身被销毁的时候,它包含的所有对象不再属于它,因此如果对象是引用数据类型,该对象的引用计数减1
*/
/**
这就是隐式强引用的一个例子。
还有一些其他的例子,比如说我们的定时器,需要注册一个对象,定时器被这个对象引用也是一个强引用;
子试图加入到父视图以后,父视图对子视图的引用也是强引用。
只要不是循环强引用,就没啥事。
*/
- 15.5 Swift隐式强引用
- swift 传值 引用 (=、&)
- swift自动引用计数
- Swift-闭包是引用类型
- swift 循环强引用
- Swift-自动引用计数
- 15.6 Swift局部引用
- 15.7 Swift全局引用
- swift - 循环引用问题
- Swift 自动引用计数(十四)
- Swift下引用pch文件
- Swift(十六、自动引用计数)
- Swift 自动引用计数(ARC)
- Swift中闭包的循环引用
- Swift的自动引用计数
- Swift闭包循环引用
- 指针 与 swift 中的引用
- swift 数组关于引用问题
- Mybatis学习(一)批量删除
- context理解
- Swift 设置字体
- HDU 1203 I NEED A OFFER 概率DP
- gh0st files
- 15.5 Swift隐式强引用
- 对角线和
- Redis及其Sentinel配置项详细说明
- 常用的学习网站
- Mapbox 地图SDK极速集成指导
- Subsequence 二分搜索
- No2.新建线程
- [Paper note] Pyramid Scene Parsing Network
- SQLiteOpenHelper