/*-------------------MRC环境中-------------------------*/
//使用局部变量:a到block块中,为了在block中可以使用这个变量,将a拷贝放到常量区域
// int a = 10;
//若是访问局部对象,为了在block中可以使用这个对象,引用计数值加一
//注意:若是使用__block修饰,计数值则不加一
//-----------block对全局变量的影响-----------
//block在访问全局变量、方法的时候,会将这个变量对应的对象计数值加一
//block -> self -> self.view -> button -> block
//解决方式:使用__block修饰self
//总结:在MRC环境中__block的做用:(1)能够在block中修改变量值 (2)block内部访问属性的时候,可使用__block修饰,避免计数值加一(解决循环引用问题)
//---------------在ARC环境中---------------
//__block:可让局部变量在block中修改数据
//------------解决循环引用------------
//在ARC环境中的解决方法:
__weak 能够解决在block代码块中调用方法产生的循环引用,可是不能解决在block代码块中使用全剧变量产生的循环引用
__strong 能够解决在block代码块中调用方法产生的循环引用,也能够解决在block代码块中使用全剧变量产生的循环引用 www.iphonetrain.com