肿瘤康复网,内容丰富有趣,生活中的好帮手!
肿瘤康复网 > iOS之深入解析weak关键字的底层原理

iOS之深入解析weak关键字的底层原理

时间:2019-03-28 15:00:06

相关推荐

一、weak 关键字

在 iOS 开发过程中,会经常使用到一个修饰词 weak,使用场景大家都比较清晰,避免出现对象之间的强强引用而造成对象不能被正常释放最终导致内存泄露的问题。weak 关键字的作用是弱引用,所引用对象的计数器不会加 1,并在引用对象被释放的时候自动被设置为 nil。weak 的常见场景是在 delegate,block,NSTimer 中使用,以避免循环引用所带来的内存泄漏。weak 的用处用一句话可归纳为:弱引用,在对象释放后置为 nil,避免错误的内存访问。用更通俗的话来表述是:weak 可以在不增加对象的引用计数的同时,又使得指针的访问是安全的。

二、weak 的底层分析

① weak 底层入口

当我们使用 weak 修饰属性的时候,它是怎么实现当所引用的对象被废弃的时候,变量置为 nil 的呢?在日常开发中,常见的 weak 的使用如下:

id object = [[NSObject alloc] init];id __weak obj

如果觉得《iOS之深入解析weak关键字的底层原理》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。