美文网首页
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