美文网首页
iOS __block __weak

iOS __block __weak

作者: _秃头少女_ | 来源:发表于2019-08-07 09:59 被阅读0次

__block和__weak修饰符的区别其实是挺明显的:
1.__block不管是ARC还是MRC模式下都可以使用,可以修饰对象,还可以修饰基本数据类型。
2.__weak只能在ARC模式下使用,也只能修饰对象(NSString),不能修饰基本数据类型(int)。
3.__block对象可以在block中被重新赋值,__weak不可以。
4.__block对象在ARC下可能会导致循环引用,非ARC下会避免循环引用,__weak只在ARC下使用,可以避免循环引用。
整理如下:__block是强引用类型,__week是弱引用类型。两者相比,__block更加全能,因为它可以在MRC和ARC都可以使用,既能修饰对象又能修饰基本数据类型。但是它还是有缺点,缺点在于在ARC环境下,会引起循环引用。而__week则只能在ARC环境下使用,且只能修饰对象,但是它不会发生循环引用。

https://www.jianshu.com/p/ec88eb425d49

相关文章

网友评论

      本文标题:iOS __block __weak

      本文链接:https://www.haomeiwen.com/subject/eqtrdctx.html