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