NSMutableArray: addObject "Null"?

8

Ich habe Probleme, am Ende eines Arrays "nil" hinzuzufügen, bekomme ich "NSInvalidArgumentException"?

%Vor%

Ich muss das ganze Element in einer Schleife nach dem Gegenstand machen und dann die "Null" hinzufügen.

Danke

(Ich nehme dieses Array und initialisiere ein 2D-Array. Das Problem ist, dass ich "replaceObjectIndex" nicht erfolgreich mit einem Array ohne "nil" ersetzen kann. Wenn ich das "k" mit "initWithObjects: @" blank "bilde, @" blank ", @" blank ", ... nil" funktioniert das. Aber 1000 Leerzeichen zu schreiben ist ein bisschen viel. Also das ist der Zweck der Schleife.)

////// HIER IST DER PROBLEM- UND FEHLERCODE für das Init und Erstellen der 2D Matrix zum Lesen und Speichern einer Matrix aus einer "CSV Datei" //////

%Vor%

* /

%Vor%     
jdl 16.07.2011, 00:21
quelle

3 Antworten

12

Sie können nil nicht zu NSMutableArray hinzufügen und Sie werden eine Ausnahme auslösen, wenn Sie versuchen, .

Es gibt jedoch NSNull :

%Vor%

Sie könnten sich fragen, warum Sie das versuchen.

    
Alex Reynolds 16.07.2011, 00:23
quelle
9

Sie brauchen kein Nil als letztes Element in einem Array.

Verwechseln Sie sich nicht mit variadischen Methoden wie +arrayWithObjects: , die eine flexible Anzahl von Argumenten erhalten, und müssen dann herausfinden, welche die letzte war. Das liegt daran, dass Sie in dieser Methodenimplementierung (wie auch in variablen C-Funktionen) die Anzahl der übergebenen Argumente nicht abrufen können, so dass nil das Ende markiert.

Als allgemeine Regel können Sie Schleifen in derselben Größe wie Ihre Dimensionen verschachteln. In Ihrem Fall würde dies ein "2D" -Array mit verschiedenen Objekten füllen:

%Vor%     
sidyll 16.07.2011 00:24
quelle
2

Sie können nicht nil hinzufügen .. (und Sie müssen nicht).

    
Kal 16.07.2011 00:24
quelle

Tags und Links