2010-08-23 8 views
13

¡Una respuesta simple a esta pregunta súper simple sería genial! Aquí está el pseudcode:Concatenar un NSMutableArray al final de otro NSMutableArray

NSMutableArray *Africa = [Lion, Tiger, Zebra]; 
NSMutableArray *Canada = [Polar Bear, Beaver , Loon]; 

NSMutableArray *Animals = *Africa + *Canada; 

Lo que quiero terminar con:

Animals = [Lion, Tiger, Zebra, Polar Bear, Beaver, Loon]; 

¿Cuál es la sintaxis correcta para lograr esto en Objective-C/Cocoa?

¡Muchas gracias!

Respuesta

48

para crear una matriz:

NSMutableArray* africa = [NSMutableArray arrayWithObjects: @"Lion", @"Tiger", @"Zebra", nil]; 
NSMutableArray* canada = [NSMutableArray arrayWithObjects: @"Polar bear", @"Beaver", @"Loon", nil]; 

Para combinar dos matrices, puede inicializar el array con elementos de la primera serie y luego añadir elementos de segundo a la misma:

NSMutableArray* animals = [NSMutableArray arrayWithArray:africa]; 
[animals addObjectsFromArray: canada]; 
1

Sobre la base de la respuesta de Vladimir Escribí una función simple:

NSMutableArray* arrayCat(NSArray *a, NSArray *b) 
{ 
    NSMutableArray *ret = [NSMutableArray arrayWithCapacity:[a count] + [b count]]; 
    [ret addObjectsFromArray:a]; 
    [ret addObjectsFromArray:b]; 
    return ret; 
} 

pero no he intentado averiguar si esto a pproach es más rápido o más lento que

de Vladimir