
__block
block可以访问局部变量,但是是不能修改的,如果想要修改局部变量,需要加__block 修饰局部变量
代码为:
` __block int multiplier = 7;
int (^myBlock)(int) = ^(int num) {
multiplier ++;
return num * multiplier;
};`
__weak
weak typeof(&self)weakSelf = self; 等同于 __weak UIViewController weakSelf = self;
block是通过引用来访问self的实例变量,self被retain,block也是一个强引用,硬气循环引用,用weak是弱引用,当self释放的时候,weakSelf已经等于nil




近期评论