NSMutableArray
Como su nombre indica no es mas que un array que puede ser modificado , es decir pueden añadirse objetos a el y pueden eliminarse objetos. La forma de trabajo con un array mutable es casi parecida a la que vimos con la clase NSArray pero lógicamente los métodos cambian. Estos son algunos ejemplos de lo que podemos hacer con la clase NSMutableArray . Para comenzar crearemos un array mutable con un tamaño de 3, para eso utilizamos el método de clase arrayWithCapcity y le pasamos como argumento el tamaño ,después añadiremos contenido a el. Para inserta los valores en el array utilizamos el método addObject pasando como argumento el objeto que queramos insertar.
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[]) { int i; //creamos el array con el método de clase arrayWithCapacity NSMutableArray *myarray=[NSMutableArray arrayWithCapacity:3]; //insertamos valores for(i=0;i<3;i++){ [myarray addObject:[NSNumber numberWithInt: i ]]; } //lo mostramos NSLog(@"array: %@",myarray); return 0; }Como NSMutableArray hereda de NSArray podemos utilizar métodos que contiene dicha clase como por ejemplo count que nos devuelve el numero de objetos que contiene el array. Quedaría así el ejemplo.
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[]) { int i; //creamos el array con el metodo de clase arrayWithObjetcs NSMutableArray *myarray=[NSMutableArray arrayWithCapacity:3]; //insertamos valores for(i=0;i<3;i++){ [myarray addObject:[NSNumber numberWithInt:i]]; } //lo mostramos NSLog(@"array: %@",myarray); //en la variable dimension colocamos el numero de objetos que contiene el array int dimension = [ myarray count ]; // lo mostramos NSLog( @"%d",dimension ); return 0; }Apartir de este momento podemos trabajar con el array mutable ya sea insertando objetos o eliminándolos. En el siguiente ejemplo eliminaremos un objeto del array ,concretamente el ultimo de los valores, para ello usaremos el método removeLastObject.
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[]) { int i; //creamos el array con el metodo de clase arrayWithObjetcs NSMutableArray *myarray=[NSMutableArray arrayWithCapacity:3]; //insertamos valores for(i=0;i<3;i++) { [myarray addObject:[NSNumber numberWithInt:i]]; } //lo mostramos NSLog(@"array: %@",myarray); //en la variable dimension colocamos el numero de objetos que contiene el array int dimension = [ myarray count ]; // lo mostramos NSLog( @"dimension %d",dimension ); //eliminamos el ultimo de los objetos del array [myarray removeLastObject]; //mostramos el array NSLog(@"array. %@",myarray); return 0; }También podemos insertar objetos en un lugar determinado con el el método insertObject como argumento le ponemos el lugar donde queramos insertar ,el método completo con su argumento es insertObject: objeto atIndex: . El ejemplo quedaría así:
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[]) { int i; //creamos el array con el metodo de clase arrayWithObjetcs NSMutableArray *myarray=[NSMutableArray arrayWithCapacity:3]; //insertamos valores for(i=0;i<3;i++) { [myarray addObject:[NSNumber numberWithInt:i]]; } //lo mostramos NSLog(@"array: %@",myarray); //en la variable dimension colocamos el numero de objetos que contiene el array int dimension = [ myarray count ]; // lo mostramos NSLog( @"dimension %d",dimension ); //insertamos el valor 1 en la posicion 1 [myarray insertObject:[NSNumber numberWithInt: 1] atIndex: 1]; //lo mostramos NSLog(@"array %@",myarray); return 0; }De igual manera que insertamos un objeto en un lugar concreto del array ,también podemos eliminar un objeto determinado pasando como argumento la posición de dicho objeto al método removeObjectAtIndex ,de esta manera el ejemplo nos queda así:
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[]) { int i; //creamos el array con el metodo de clase arrayWithObjetcs NSMutableArray *myarray=[NSMutableArray arrayWithCapacity:3]; //insertamos valores for(i=0;i<3;i++) { [myarray addObject:[NSNumber numberWithInt:i]]; } //lo mostramos NSLog(@"array: %@",myarray); //en la variable dimension colocamos el numero de objetos que contiene el array int dimension = [ myarray count ]; // lo mostramos NSLog( @"dimension %d",dimension ); //insertamos el valor 1 en la posicion 1 [myarray insertObject:[NSNumber numberWithInt: 1] atIndex: 1]; //lo mostramos NSLog(@"array %@",myarray); //eliminamos el objeto en la posicion 1 [myarray removeObjectAtIndex:1]; //lo mostramos NSLog(@"array %@",myarray); return 0; }Si queremos reemplazar un objeto que ese encuentre en un array por otro objeto diferente usaremos el método replaceObjectAtIndex: withObject: ,a este método le debemos de pasar dos argumentos , el primero de ellos es el lugar que ocupa el objeto que queremos reemplazar , el segundo el objeto que queremos insertar en su lugar.
Nos quedaría el ejemplo así:
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[]) { int i; //creamos el array con el metodo de clase arrayWithObjetcs NSMutableArray *myarray=[NSMutableArray arrayWithCapacity:3]; //insertamos valores for(i=0;i<3;i++) { [myarray addObject:[NSNumber numberWithInt:i]]; } //lo mostramos NSLog(@"array: %@",myarray); //en la variable dimension colocamos el numero de objetos que contiene el array int dimension = [ myarray count ]; // lo mostramos NSLog( @"dimension %d",dimension ); //insertamos el valor 1 en la posicion 1 [myarray insertObject:[NSNumber numberWithInt: 1] atIndex: 1]; //lo mostramos NSLog(@"array %@",myarray); //eliminamos el objeto en la posicion 1 [myarray removeObjectAtIndex:1]; //lo mostramos NSLog(@"array %@",myarray); //reemplazamos el objeto 1 por 6 [myarray replaceObjectAtIndex:1 withObject:[NSNumber numberWithInt: 6]]; //lo mostramos NSLog(@"array %@",myarray); return 0; }Por ultimo también podemos borrar todo el contenido de un array usando el método removeAllObjects ,este método nos dejara un array vacío.
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[]) { int i; //creamos el array con el metodo de clase arrayWithObjetcs NSMutableArray *myarray=[NSMutableArray arrayWithCapacity:3]; //insertamos valores for(i=0;i<3;i++) { [myarray addObject:[NSNumber numberWithInt:i]]; } //lo mostramos NSLog(@"array: %@",myarray); //en la variable dimension colocamos el numero de objetos que contiene el array int dimension = [ myarray count ]; // lo mostramos NSLog( @"dimension %d",dimension ); //insertamos el valor 1 en la posicion 1 [myarray insertObject:[NSNumber numberWithInt: 1] atIndex: 1]; //lo mostramos NSLog(@"array %@",myarray); //eliminamos el objeto en la posicion 1 [myarray removeObjectAtIndex:1]; //lo mostramos NSLog(@"array %@",myarray); //reemplazamos el objeto 1 por 6 [myarray replaceObjectAtIndex:1 withObject:[NSNumber numberWithInt: 6]]; //lo mostramos NSLog(@"array %@",myarray); //vaciamos el array [myarray removeAllObjects]; //lo mostramos NSLog(@"array %@",myarray); return 0; }De nuevo decirte que estos son solo unos ejemplo de la utilización de la clase NSMutableArray,para poder ver todos y cada uno de los métodos tienes esta pagina.En ella encontraras toda la información que necesitas para poder trabajar con los array mutables.
No hay comentarios:
Publicar un comentario