iphone cocoa cocoa-touch nsobject nsrange

iphone - ¿Cómo almaceno un NSRange en un NSMutableArray u otro contenedor?



cocoa cocoa-touch (4)

Esto es lo que quiero hacer:

NSRange r = NSMakeRange(0,5); id a = [NSMutableArray a]; [a addObject: r]; // but NSRange is not a NSObject *

Con un booleano, usaría un código como este:

[a addObject: [NSNumber numberWithBool: YES]];

o con un número entero:

[a addObject: [NSNumber numberWithInteger: 3]];

Entonces, ¿cuál es el equivalente con un NSRange ? Lo que realmente no quiero hacer es crear mi propia subclase de NSObject para lograr esto. Seguramente hay una manera con lo que Apple ya proporcionó?


Otra opción podría ser agregar esos rangos en un NSIndexSet , dependiendo de cómo pretenda utilizarlos a continuación.


Si necesita almacenar el NSRange en una lista de propiedades, también puede convertir un NSRange en un NSString utilizando la función NSStringFromRange . Y luego, puede volver a convertir esa cadena en un rango utilizando la función NSRangeFromString .



[NSValue valueWithRange:r];

y recuperarlo con:

NSRange r = [rangeObject rangeValue];