美文网首页
关于Block的碎片整理

关于Block的碎片整理

作者: Z_Lukas | 来源:发表于2016-07-03 11:27 被阅读63次

iOS中Block内存管理分为三种:

  • NSGloabBlock
  • NSStackBlock
  • NSMallocBlock

1: MRC中使用的__block可以表示若引用,ARC中要使用__weak修饰表示弱引用.

  • NSGloabBlock:retain,copy,release 不会正价引用计数
  • NSStackBlock:retain.release ,copy不会改变引用计数,copy可以
  • NSMallocBlock:位于堆区,retain,release.引用计数改变.

注意:防止block循环引用,正确使用weak 和__block的修饰
注意 一个类中不定义属性而只定义成一个变量在block中可以直接使用,并且值也是在block中可以改变的,但是会照成循环引用,因为这个变量属于类本身,所以避免这种情况应该定义成属性,如果在block外部使用__block修饰的话,值不会改变,但是不会照成循环引用,MRC中__block是不会引起retain,但是在ARC中__block会引起retain.

相关文章

  • 关于Block的碎片整理

    iOS中Block内存管理分为三种: NSGloabBlock NSStackBlock NSMallocBloc...

  • iOS--Block

    先定个小目标,例如整理一篇关于 block 的笔记 先用 OC 写一段最简单的 block 代码:int main...

  • Block

    将我认为的比较易懂的关于block的文章整理到一起: 文章链接: 你真的理解__block修饰符的原理么? __b...

  • block的整理

    先看看第一道题: Example A This example always works. only works ...

  • Block的整理

    使用Block在两个界面之间传值 1. 在 B 控制器的.h文件中定义声明Block属性 typedef void...

  • iOS面试之Block大全

    Block Block内容如下: 关于Block 截获变量 __block修饰符 Block的内存管理 Block...

  • iOS面试之Block模块

    Block Block内容如下: 关于Block 截获变量 __block修饰符 Block的内存管理 Block...

  • Block整理

    Block 概念 闭包 = 一个函数「或指向函数的指针」+ 该函数执行的外部的上下文变量「也就是自由变量」;Blo...

  • 整理Block

    用了Block那么久,一直以来没有好好整理,只知道如何使用,对有些概念也不是了解特别清楚,感觉似懂非懂的。借助网上...

  • Block整理

    Block block其实就是一个代码块,把你想要执行的代码封装在这个代码块里,等到需要的时候再去调用。那bloc...

网友评论

      本文标题:关于Block的碎片整理

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