[报错]Fast enumeration variables cannot be modified in ARC by default; declare the variable __strong to allow this

 

今天写了下面的快速枚举for循环代码,从按钮数组subButtons中取出button,然后修改button的样式,在添加到view中

for (UIButton *button in subButtons) {
     button.selected = YES;
     button = [self updateStatusWithButton:button];
     [self.view addSubview:button];
}

 

但是写完还未编译,就报如下错误:

Fast enumeration variables cannot be modified in ARC by default; declare the variable __strong to allow this

即: 快速枚举变量在ARC下默认不能修改其引用属性,声明变量为__strong允许修改

 所以修改如下即可:

for (__strong UIButton *button in subButtons) {
            button.selected = YES;
            button = [self updateButtonStatusWithButton:button isInitial:YES];
            [self.view addSubview:button];
}

 

posted @ 2017-01-17 11:22  XA_Fanny  阅读(2416)  评论(0编辑  收藏  举报