美文网首页
IOS中Block在MRC与ARC的区别

IOS中Block在MRC与ARC的区别

作者: Mr_Jee | 来源:发表于2017-02-23 16:02 被阅读0次

如何判断当前文件是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。

相关文章

  • Blcok相关经典面试题

    题目:事例分析Block在ARC和MRC情况下的使用。 ARC与MRC在Xcode中的切换:arc-->mrc 更...

  • IOS中Block在MRC与ARC的区别

    如何判断当前文件是ARC还是MRC? 1、dealloc方法中能否调用super,只要MRC才能调用super; ...

  • iOS 底层知识梳理

    3月11日AppDelegate模块化历程 iOS Block浅浅析iOS-MRC与ARC区别以及五大内存区 3月...

  • #1-对于block的理解,mrc和arc的区别

    block在ARC和MRC中的声明引用有些区别: copy使栈中的block转移到堆中,并对block会引用的对象...

  • 内存管理

    OC知识--彻底理解内存管理(MRC、ARC) IOS工程中混合使用ARC与MRC iOS 简单而粗暴的说一说内存...

  • __block和__weak的区别

    __block和__weak的区别 __block 在ARC和MRC下都可以使用,既可以修饰对象,也可以修饰基本数...

  • 面试题整理

    3. __block在arc和非arc下含义一样吗? 是不一样的。 在MRC中block variable在blo...

  • 小知识总结:

    __block 和 __weak 的区别: __block不管是ARC还是MRC模式下都可以使用,可以修饰对象,还...

  • Block - __weak、__block的使用

    一、__weak、__block区别! __block不管是ARC还是MRC模式下都可以使用,可以修饰对象,还可以...

  • __weak & __block

    1.__block:可以在ARC、MRC下使用 __weak:只能在ARC下使用 2.__block:可以修饰对象...

网友评论

      本文标题:IOS中Block在MRC与ARC的区别

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