block内部实现原理(三)
【block在arc下实现】
首先说结果,在局部传参过程中(直接传参,__block关键字,static关键字)block在ARC下和MRC并没有区别,
但是由于ARC的原因直接用__block关键字会有可能造成循环引用。所有针对对象用关键字__weak,__unsafe_unretained
如果用__weak,__unsafe_unretained ,会copy一份,并不会对外面参数的值进行修改,甚至修饰普通变量会有警告,
所以,基本不需要考虑arc与mrc的关系,注意循环引用即可
【带参数的block 】
带参的block方法与不带参的block方法的区别和正常带参方法与不带参方法基本相同
参数为block 传递的则是一个指针
To be continue