如果我尝试使用__block存储类型访问“对象变量”:
@interface {
__block float x;
}
在一个区块中:
@implementation ... {
...
-(void) func: {
^(...) {
x = 0;
}
}
我收到一个“保留周期”警告,除非我创建了一个__block对self的引用并使用它:
-(void) func: {
__block id s = self;
^(...) {
s->x = 0;
}
}
为什么可以在接口中声明变量“__block”?