美文网首页
Objective-C的Block实质与实现探究 part-8

Objective-C的Block实质与实现探究 part-8

作者: KardelShaw | 来源:发表于2017-01-04 01:36 被阅读0次

    __block变量存储域

    </br>

    《Objective-C高级编程 iOS与OS X多线程和内存管理》表2-5

    在一个Block中使用__block变量,对Block进行复制的过程:

    将Block复制到堆
    “使用”是Block在栈中的对__block变量的语义,“持有”是Block在堆中对__block变量的语义。“持有”是与对象的引用计数有关的语义。__block变量有isa指针,所以是个对象,“持有”语义对它同样适用。

    在多个Block中使用__block变量,对Block进行复制的过程:


    将Block0复制到堆 将Block1复制到堆

    一个Block持有__block变量,Block被废弃时,__block变量被废弃的过程:


    Block被废弃

    多个Block持有__block变量,Block被废弃时,__block变量被废弃的过程:

    Block0,Block1依次被废弃

    相关文章

      网友评论

          本文标题:Objective-C的Block实质与实现探究 part-8

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