面试集结

Block相关面试点详解

2018-07-30  本文已影响0人  彭小先生

block的原理是怎样的?本质是什么?

block原理
对应代码内部实现
block的变量捕获

auto:代表自动变量,离开作用域就销毁
static:将变量的地址传到block


block类型

block分为三种类型。global类型不需要太过注意,需要注意stack类型转换为malloc类型。只有block在堆上时我们才可以对其进行管理。

block在ARC环境下会自动copy的情况
对象类型的auto变量
__block的内存管理
__block的内存管理
blcok对两种变量的实现

封装了函数调用以及调用环境的OC对象

__blcok的作用是什么?有什么使用注意点?

__block做了哪些事情
ARC环境下解决循环引用问题
MRC环境解决循环引用问题

block的属性修饰词为什么是copy?使用block有哪些使用注意?

如果不copy的话,那么block就不会在堆空间上,无法对你生命周期进行控制。需要注意循环引用(ARC环境下 strong 、copy没有区别)

block在修改NSMutableArray内容时,需不需要添加__blcok?

不需要。修改内容也是对数组的使用,只有对对象赋值的时候才需要__block。

上一篇 下一篇

猜你喜欢

热点阅读