I stumbled across the following shortcut in setting up a for loop (shortcut compared to the textbook examples I have been using):
for (Item *i in items){ ... }
As opposed to the longer format:
for (NSInteger i = 0; i < [items count]; i++){ ... } //think that's right
If I’m using the shorter version, is there a way to remove the item currently being iterated over (ie ‘i’)? Or do I need to use the longer format?
You cannot remove objects from array while fast-enumerating it:
Anyway why do you need to change you container while enumerating it? Consider storing elements that need to be deleted and remove them from your container using
removeObjectsInArray:orremoveObjectsAtIndexes:method.