【エラー】Collection was mutated while being enumerated.

意味

列挙子つかってアクセスしてる最中に配列の中身を変更すんじゃねぇよ、次のオブジェクトわかんなくなるやろぼけ

解決策

for (id *obj in [hogeArray reverseObjectEnumerator]) {

}

ってかんじにreverseObjectEnumeratorを使う。
arrayが逆順になるので中身を変更しても次のオブジェクトは変わんないのでだいじょうぶ