2012-03-26 8 views
8

Me aparece el siguiente error, que no tiene sentido.NSRangeException de removeObjectsInRange: pero el rango pasado está dentro de los límites

* Terminación de aplicación debido a excepción no detectada 'NSRangeException', razón: '* - [NSMutableArray removeObjectsInRange:]: gama {11, 15} se extiende más allá de los límites [0 .. 15]'

¿Qué estoy haciendo mal aquí? Estoy dentro de los límites de la matriz. ¿La eliminación del último objeto en la matriz causa problemas?

Respuesta

43

El segundo campo de un NSRange es la longitud, no el punto final. Usted está tratando de eliminar quince objetos, a partir del índice de 11.

En su lugar, quieren hacer algo en la línea de:

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

Gracias. Me acabo de dar cuenta de que estaba usando NSRange mal. –

+1

@Yar: Es exactamente el mismo documento, ya sabes. :) –

+0

Lo sé, pero nunca puedo entender cuándo los documentos van a ser los mismos y cuándo iOS y Mac van a producir documentos diferentes (lo que hacen, a veces, como método diferente, etc.). No están en este caso, pero ¿podrían ser diferentes el uno del otro? –

Cuestiones relacionadas