IOS中Block在MRC与ARC的区别

如何判断当前文件是ARC还是MRC?

  • 1、dealloc方法中能否调用super,只要MRC才能调用super;
  • 2、能否使用retain、release,如果可以就是MRC;
ARC管理原则:只要一个对象没有被强指针修饰就会被销毁,默认局部变量对象都是强指针,存放在堆里面。

MRC了解开发常识:

  • 1、MRC没有strong、weak,局部变量对象就是相当于基本数据类型;
  • 2、MRC给成员属性赋值一定要用set方法,不能直接访问下划线成员属性赋值。

总结

只要block不引用外部局部变量,block放在全局区。

MRC 管理block

  • 只要block引用外部局部变量,block放在栈里面,block只能使用copy不能使用retain,用retain,block还是在栈里面。

ARC 管理block

  • 只要block引用外部局部变量,block就放在堆里面,block使用copy,尽量不要使用strong。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容