4 Stimmen

Wie fügt man zwei NSMutableArrays in das Iphone sdk ein oder fügt ein NSArray mit NSMutableArray hinzu?

Ich muss zwei NSMUtableArrays anhängen. Kann mir jemand vorschlagen, wie das möglich ist?

Mein Code lautet:

NSMutableArray *array1 = [appDelegate getTextList:1];
NSArray *array2 = [appDelegate getTextList:2];
[array1 addObjectsFromArray:array2];//Hier trete ich eine Ausnahme auf.

Die Hilfe von jemandem wäre sehr geschätzt.

Vielen Dank an alle, Lakshmi.

13voto

Stone Mason Punkte 2004

Was wahrscheinlich passiert, ist dass dein [appDelegate getTestList:1] nicht tatsächlich ein NSMutableArray zurückgibt, sondern ein NSArray. Das Array einfach als veränderbar zu deklarieren, indem du einen Zeiger darauf wie in dem Beispiel hältst, wird in diesem Fall nicht funktionieren, stattdessen verwende:

NSMutableArray *array1 = [[appDelegate getTextList:1] mutableCopy];
NSArray *array2 = [appDelegate getTextList:2];
[array1 addObjectsFromArray:array2];

Oder du könntest die 'textList'-Variable, die du in deinem appDelegate hast, von Anfang an als NSMutableArray speichern. Ich nehme an, dass du ein NSArray von NSArrays (oder ihren veränderbaren Versionen) hast. z.B.

// In der Klassen-Schnittstelle
NSMutableArray *textLists;

// In der Funktion, in der du Listen zum Array hinzufügst
NSMutableArray *newTextList;
[self populateArray:newTextList]; // Oder so ähnlich

[textLists addObject:newTextList];

Anmerkung: Wahrscheinlich wirst du einen anderen Arbeitsablauf haben, aber ich hoffe, du bekommst die Idee, die tatsächlichen Listen als NSMutableArrays zu speichern.

Weitere Anmerkung: Die zweite Methode wird das NSMutableArray im Ort verändern, das [appDelegate getTextList:1]; zurückgibt

1voto

NSResponder Punkte 16747

Versuchen Sie dies:

NSMutableArray *result = 
    [[appDelegate getTextList:1] mutableCopy] 
        addObjectsFromArray:[appDelegate getTextList:2]];

Sie erhalten die Ausnahme, weil Sie versuchen, mutierende Nachrichten an ein unveränderliches Array zu senden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X