iOS-__block和__weak区别

一、__weak:

__weak只能在ARC下使用,且只能修饰对象,不能修饰基本数据类型(int等),弱引用,可以block解决循环引用问题。

二、__block:

__block既能再ARC下使用,也能在 MRC下使用。既能修饰对象又能修饰基本数据类型。

  • ARC、MRC区别:__block对象在ARC下可能会导致循环引用,非ARC下会避免循环引用。
  • ARC、MRC共同点:block内对于栈上的数据不能修改,使用__block修饰以后放到了堆上就可以修改了。

如有错误之处,望留言指正。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容