2010-08-23 13 views
13

Prosta odpowiedź na to super proste pytanie byłaby świetna! Oto pseudcode:Połącz jedną NSMutableArray z końcem innej NSMutableArray

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

NSMutableArray *Animals = *Africa + *Canada; 

Co chcę skończyć z:

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

Jaka jest właściwa składnia do osiągnięcia tego celu w Objective-C/kakao?

Dziękuję bardzo!

Odpowiedz

48

Aby utworzyć tablicę:

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

Aby połączyć dwie tablice można zainicjować tablicę z elementami 1. tablicy, a następnie dodać elementy od 2 do niego:

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

oparciu o odpowiedź Włodzimierza Napisałem prostą funkcję:

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

ale nie próbowałem dowiedzieć się, czy to Pproach jest szybszy lub wolniejszy niż Vladimir's

Powiązane problemy