Zugriff auf Werte aus einem Array von Objekten

8

Ich habe zwei Arrays, nämlich

%Vor%

Jetzt kopiere ich das erste Objekt in das zweite Array wie

%Vor%

Das ist in Ordnung. Ich weiß nicht, wie ich auf den Wert des ersten Arrays zugreifen kann. Ich habe es versucht,

%Vor%

Ich möchte den Namen Wert erhalten, der im ersten Objekt des ersten Arrays ist. Ich habe versucht, die obige Zeile zu verwenden, es zeigt eine Warnung. Bitte hilf mir

    
Perseus 18.04.2012, 18:49
quelle

3 Antworten

7

Angenommen, Sie haben mit einem Array wie diesem begonnen:

%Vor%

Sie könnten ein zweites Array erstellen, das den Wert einer gegebenen Eigenschaft jedes Elements des ersten Arrays wie folgt enthält:

%Vor%

Wenn Sie dann das zweite Array protokolliert haben ...

%Vor%

... die resultierende Ausgabe wäre

%Vor%

BEARBEITEN

Beachten Sie, dass dies unabhängig davon funktioniert, ob die Objekte im ersten Array Instanzen von NSDictionary sind, wie im obigen Beispiel gezeigt, oder Instanzen einer Klasse oder Klassen, die eine name -Eigenschaft oder -Instanzvariable (oder eine _name Instanzvariable, für diese Angelegenheit). Weitere Informationen dazu, wie und warum dies funktioniert, finden Sie in der Dokumentation zum informellen Protokoll NSKeyValueCoding :

Ссылка

    
jlehr 18.04.2012, 20:29
quelle
3

Die Klammern sind derzeit an der falschen Stelle:

%Vor%     
Matisse VerDuyn 18.04.2012 18:54
quelle
1

Aktualisierte Antwort:

Auch hier sollten Sie die Dinge in leicht zu analysierende Codezeilen aufteilen:

%Vor%

Beachten Sie, dass ich hier auch einige Fehler einchecke (d. h. sicherstellen, dass der Name nicht null ist).

Ursprüngliche Antwort:

Sie erhalten eine Warnung, weil der Compiler nicht weiß, welche Art von benutzerdefiniertem Objekt von Ihrem Aufruf von " [first objectAtIndex: i] " abgerufen wird. Mit anderen Worten, es weiß nicht, um was für ein Objekt es sich handelt, " name " von.

Wirf es in den richtigen Typ und du wirst die Warnung loswerden.

Oder noch besser, teilen Sie diese eine Zeile von mehreren Dingen gleichzeitig in zwei oder drei Zeilen Code auf und machen Sie Ihren Code dabei lesbarer.

    
Michael Dautermann 18.04.2012 18:53
quelle