Block循环引用

Block的循环引用

  如果在Block中使用_strong修饰符的对象类型自动变量,当block从栈复制到堆时,该对象为Block所持有。这样就容易引起循环引用。

为了避免循环引用可以使用_block变量、_weak修饰符以及_unsafe_unretained修饰符。 

_block和_weak的区别:

1._block可以修饰对象,也可以修饰基本类型。

2._weak只可以修饰对象。

3._block在block中可以被重新赋值,_weak不可以。

_unsafe_unretained不会被自动置空为nil。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容