1. __block 对象在block中是可以被修改、重新赋值的
__block 对象在block中不会被block强引用一次,从而不会出现循环引用问题
使用了__weak 修饰符的对象,作用等于定义为weak的property,自然不会导致循环应用问题,
因为苹果文档中:当源对象没有任何强引用的时候,弱引用指针会被设置为nil
2. __block 与 __weak 的区别
(1)__block 不管在MAC和ARC模式下都可以使用,可以修饰对象,还可以修饰基本数据类型
(2)__weak 只能在ARC模式下使用,也只能修饰对象(NSString),不能修饰基本数据类型
(3)__block 对象可以在block中被重新赋值,__weak不可以