NSRangeException from removeObjectsInRange: but passed range is within bounds

adrian.coroian picture adrian.coroian · Mar 26, 2012 · Viewed 7.4k times · Source

I am getting the error below, which makes no sense.

* Terminating app due to uncaught exception 'NSRangeException', reason: '* -[NSMutableArray removeObjectsInRange:]: range {11, 15} extends beyond bounds [0 .. 15]'

What am I doing wrong here? I am within bounds of the array. Does removing the last object in the array cause issues?

Answer

jscs picture jscs · Mar 26, 2012

The second field of an NSRange is length, not endpoint. You are trying to remove fifteen objects, starting from index 11.

Instead, you want to do something along the lines of:

[myArray removeObjectsInRange:(NSRange){11, 5}];