怎么判断一个block是栈block还是堆block还是全局block?

来源:7-4 Block内存管理相关面试问题

慕桂英2344240

2019-09-10

如题

写回答

1回答

慕后端8876056

2019-09-26

当运行block所需的全部信息都能在编译器确定,那么就是全局的block。

当你新创建了一个block且没有对齐进行copy操作,此时block就是栈block,当你将block进行copy操作(赋值给一个使用copy关键字修饰的属性)后,该属性指向的block就是堆上的block,原来的栈block会在作用域结束后进行内存的回收

3
1
一只程序猿儿
Get ,thanks
2019-12-05
共1条回复

资深大牛带你深度剖析ios高级面试

从BAT/TMD名企真题入手,结合源码及应用,构建完整iOS知识体系

1749 学习 · 600 问题

查看课程