美文网首页
Block被copy堆上的时机

Block被copy堆上的时机

作者: 陈_振 | 来源:发表于2018-09-06 14:40 被阅读0次

不会被自动copy到堆的情况:
在ARC模式下,block作为函数的参数传递时不会被copy到堆上。但有两个例外,一是,方法名中含有usingBlock的Cocoa框架方法或GCD的API传递block时。

会被copy到堆上的情况:

  1. 调用Block的copy方法
  2. Block作为函数返回值
  3. 将Block赋值给__strong修饰符id类型的类或Block类型的成员变量时。
  4. 方法名中含有usingBlock的Cocoa框架方法或GCD的API传递block时。

相关文章

  • Block被copy堆上的时机

    不会被自动copy到堆的情况:在ARC模式下,block作为函数的参数传递时不会被copy到堆上。但有两个例外,一...

  • block的堆栈?

    block究竟放在什么地方:堆\栈? 注:BLOCK被另一个BLOCK使用时,另一个BLOCK被COPY到堆上时,...

  • Objective - C block(三)block的copy

    (一)copy ARC环境下,编译器会根据情况自动将stackblock进行copy操作,复制到堆上 block作...

  • block

    为什么block使用copy(ARC下也可以使用strong) 为的是将block拷贝到堆上来 block为什么需...

  • block写法

    /**1.^标识后表示block返回数值类型,()表示回传参数2.block都要用copy修饰,复制到堆上,防止释...

  • OC中的copy

    1.所有被copy修饰的对象都会进行深copy吗? 答案:NO,例如block 全局block被copy修饰不会有...

  • Block:Block 的 copy

    Block 的 copy 在ARC环境下,编译器会根据情况自动将栈上的block复制到堆上,比如以下情况1、blo...

  • iOS开发 基础三

    1.block为什么使用copy关键字 block是一个特殊的oc对象,建立在栈上,而不是堆上,这么做一个是为性能...

  • block学习

    block为什么是用copy修饰 block属性的声明,首先需要用copy修饰符,因为只有copy后的block才...

  • iOS 底层学习13 -- block访问oc对象本质

    在ARC环境下面,编译器会根据一些情况自动把栈blcok copy到堆上面去。 ARC环境下,block只要被强指...

网友评论

      本文标题:Block被copy堆上的时机

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