Swift   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Swift学习笔记系列——(15)自动引用计数大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

Tags: Swift 学习笔记 发布时间:2015-08-06 修改时间:2015-08-06 作者:Erwin 博客地址:技术杂货铺 欢迎转载,转载请注明出处。 Swift学习笔记系列——(15)自动引用计数 什么是自动引用计数 ARC机制会记录对每个类类型实例的引用次数,如果变为0,ARC会将其释放,分配的资源会被回收。 自动引用计数只针对类实例适用。 几种引用释义 引用类型 是否影响引用计

Tags: Swift 学习笔记

发布时间:2015-08-06
修改时间:2015-08-06
作者:Erwin
博客地址:技术杂货铺
欢迎转载,转载请注明出处。

Swift学习笔记系列——(15)自动引用计数

什么是自动引用计数

ARC机制会记录对每个类类型实例的引用次数,如果变为0,ARC会将其释放,分配的资源会被回收。
自动引用计数只针对类实例适用。

几种引用释义

引用类型 是否影响引用计数 是否可以为nil 是否可以为常量
强引用
弱引用
无主引用

强引用环导致类实例不能被回收

影响类实例被回收的因素:是否存在对该实例的强引用。
强引用环:引用类型的实例相互持有对方的引用,形成类似环形结构。

类实例之间形成强引用环

解决方

采用弱类引用

一个类实例中的引用属性如果可以为nil,可以将其声明为弱引用,而且一般采用可选类型。

采用无主引用

一个类实例中的引用属性如果要求始终有值,可以将其声明为无主引用。

无主引用结合自动拆包可选类型属性

两个相互引用的类实例中,引用属性都不能为空,可以用这种方式。

类实例和闭包之间形成强引用环

解决方

定义闭包的捕获列表,在捕获列表声明捕获的引用为弱引用或者无主引用

大佬总结

以上是大佬教程为你收集整理的Swift学习笔记系列——(15)自动引用计数全部内容,希望文章能够帮你解决Swift学习笔记系列——(15)自动引用计数所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。