kubou.dev();

好きな言葉は一石二鳥

Objective-Cでfor文中に要素を変更しようとしたらエラー「Collection was mutated while being enumerated.」

列挙子を使ってアクセスしてる時に要素変更しないでねということ。 順番に処理してるのに、要素を削除したりしたら順番狂っちゃうから発生。

調べてみると、reverseObjectEnumeratorを使って逆順に列挙すればokみたい。

for (id obj in [array reverseObjectEnumerator]) {
    [array removeObject:obj];
}