[报错]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];
}
原文地址:https://www.cnblogs.com/china-fanny/p/6292310.html