I have an NSMutableArray that stores mousejoints for a Box2d physics simulation. When using more than one finger to play I\'ll get exceptions stating
I had the same problem, and the solution is to enumerate the copy and mutate the original, as edc1591 correctly mentioned. I've tried the code and I'm not getting the error anymore. If you're still getting the error, it means you are still mutating the copy (instead of the original) inside the for loop.
NSArray *copyArray = [[NSArray alloc] initWithArray:originalArray];
for (id obj in copyArray) {
// tweak obj as you will
[originalArray setObject:obj forKey:@"kWhateverKey"];
}