__block 和__weak
Posted 天亮了_jia
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了__block 和__weak相关的知识,希望对你有一定的参考价值。
1,在MRC 时代,__block 修饰,可以避免循环引用;ARC时代,__block 修饰,同样会引起循环引用问题;
2,__block不管是ARC还是MRC模式下都可以使用,可以修饰对象,还可以修饰基本数据类型;
3,__weak只能在ARC模式下使用,也只能修饰对象,不能修饰基本数据类型;
4,__block对象可以在block中被重新赋值,__weak不可以;
5,__unsafe_unretained修饰符可以被视为ios SDK 4.3以前版本的__weak的替代品,不过不会被自动置空为nil。所以尽可能不要使用这个修饰符。(__weak 会自动置为nil)
以上是关于__block 和__weak的主要内容,如果未能解决你的问题,请参考以下文章