2010-08-23 15 views
13

Una semplice risposta a questa semplice domanda sarebbe ottima! Ecco l'pseudcode:Concatena un NSMutableArray alla fine di un altro NSMutableArray

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

NSMutableArray *Animals = *Africa + *Canada; 

Quello che voglio finire con:

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

Qual è la sintassi corretta per raggiungere questo obiettivo in Objective-C/Cocoa?

Grazie mille!

risposta

48

Per creare un array:

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

Per combinare due array è possibile inizializzare array con elementi della prima matrice e quindi aggiungere elementi dal 2 ad esso:

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

in base alla risposta di Vladimir Ho scritto una semplice funzione:

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

ma non ho provato a scoprire se questo a pproach è più veloce o più lento di Vladimir

Problemi correlati