__weak与__block的区别
一、 __weak是弱引用,使用weak修饰引用计数不会增加。被引用的对象会被加入一张weak_table中,对象的地址会被当作key,weak指针的地址(地址的值为所指对象指针的地址)数组当作value。
1.初始化一个weak对象或给对象添加弱引用时会初始化一个weak指针指向对象的地址并创建对应的弱引用表。
2.对象释放时会根据对象的地址从weak_table中获取所有weak指针的地址数组,然后遍历数组把其中的数组置空。然后从表中把这个元素彻底清空并清理对象的记录。
二、使用__block修饰对象在block中不会被强引用,并且对象在block中是可以被改变和重新赋值的。
__block可以修饰对象和基本数据类型,在MRC和ARC中都可以使用。__weak只能在ARC中使用且只能修饰对象,在block中也不能被重新赋值。
__weak与__block的区别相关推荐
- __block和__weak修饰符的区别
block下循环引用的问题 __block本身并不能避免循环引用,避免循环引用需要在block内部把__block修饰的obj置为nil __weak可以避免循环引用,但是其会导致外部对象释放了之后, ...
- oc开发之block详解
2019独角兽企业重金招聘Python工程师标准>>> BLOCK是什么?苹果推荐的类型,效率高,在运行中保存代码.用来封装和保存代码,有点像函数,BLOCK可以在任何时候执行.标识 ...
- (0032) iOS 开发之Block 的基础用法及注意事项1
该文章参考多篇文章,已记不清,如有问题请联系我. 参考:http://blog.csdn.net/zm_yh/article/details/51469275 Block理解 1. Block执行的代 ...
- iOS基础知识(面试必备)
iOS开发的设计模式 一.代理模式 应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现. 优势:解耦合 敏捷原则:开放-封闭原则 实例:tableview的 数据源dele ...
- 格而知之11:我所理解的内存管理(2)
6.ARC仍然遵循MRC的内存管理方式,4个基本规则在ARC下仍然是有效的,区别只在于:MRC模式下需要手动键入retain.release等方法来遵循这些规则,ARC环境下则是编译器自动在适当位置插 ...
- ajax全局加密,Ajax请求接口加密研究(针对网页前端的接口安全加密机制研究)...
数据库查询优化-SQL优化 1.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is ...
- iOS基础-高级进阶面试题
1.OC 语言的基本特点 OC 语言是 C 语言的一个超集,只是在 C 的基础之上加上了面向对象(oop) 的特性; OC 与 Java 语言相同都是单继承,这一点与 C++语言不同(多重继承); ...
- iOS程序员面试笔试宝典整理
大三暑假了,各个公司的招聘都开始了,之前自学iOS都是比较零零散散,没有整体的知识体系,现在暑假在准备面试的时候,借着复习准备面试将之前学习的一些东西都整理出来,做个记录 下面是花了三天的时候阅读某宝 ...
- ⑪(面试篇 2/3)、《史上最全iOS八股文面试题》2022年,金三银四我为你准备了,iOS《1000条》笔试题以及面试题(包含答案)。带面试你过关斩将,(赶紧过来背iOS八股文)
iOS面试题 一共分为笔试题和面试题两部分 笔试题 一共分为10个 总共613题 面试题 一共400题 笔试题 一个10个系列 分别为 ①(语法篇) 共147题 已更新 ②(常识篇) 共72题 已更新 ...
最新文章
- github登陆方案
- ubuntu下zip文件操作
- CCF NOI1113 括号匹配
- MFC模态窗口与非模态窗口
- 什么叫云服务器_什么叫云计算,云计算是什么,最通俗的解释是这样的
- mysql hint 简书_MySQL
- android官方wifidemo,Android应用开发:连接指定Wifi的Demo分享
- OpenCV+Python实现视频文件裁剪功能
- armboot和内核文件系统烧写总结
- 【JVM实战】JVM参数调优
- ap6212linux驱动下载,AP6212各个版本固件
- 吴伯凡-认知方法论-知行合一-建立神经元之间的高带宽连接
- 黑群晖的驱动加载与卸载(以USB网卡驱动为例)
- css实现点点点效果
- 面试题:浏览器事件冒泡、事件捕获
- plor 回归的r方_新祥旭2022考研真题高频词汇背诵50天(十三)
- Python:实现gnome sortt侏儒排序算法(附完整源码)
- 华章IT图书书讯(2011年第6期)
- 夜神模拟器(Android7)+BurpSuit配置抓取HTTPS包
- ALBB 二叉树中相差最大节点的绝对差值