2010-02-05 14 views
5

Wie wird ein Array-Element bei bestimmten Index in Objective-C gedruckt? Mein Code sieht wie folgt aus:Wie wird ein einzelnes Array-Element in Objective-C gedruckt?

NSString *String=[NSString StringWithContentsOFFile:@"/User/Home/myFile.doc"]; 
NSString *separator = @"\n"; 
NSArray *array = [String componetntsSeparatedByString:separator]; 
NSLog(@"%@",array); 

Ich bin in der Lage sofort den gesamten Inhalt eines Arrays zu drucken, aber ich möchte das Element an jedem Index in einen String zuweisen, wie ...

str1=array[0]; 
str2=array[1]; 
str3=array[0];...this continues 

Wie mache ich das?

+0

hey ich habe die Antwort ... sorry .... seine NSLog (@ "% @", [Array ObjektAtIndex: Index]); – suse

Antwort

8

Sie möchten die objectAtIndex: Methode. Beispiel:

NSString *str1 = [array objectAtIndex:0]; 
NSString *str2 = [array objectAtIndex:1]; 
NSString *str3 = [array objectAtIndex:2]; 

Vom documentation:

objectAtIndex:
Gibt das Objekt an Index entfernt.

- (id)objectAtIndex:(NSUInteger)index 

Parameter
Index
Ein Index innerhalb der Grenzen des Empfängers.

Rückgabewert
Das Objekt befindet sich in Index.

Discussion
Wenn Index ist über das Ende des Arrays (das heißt, wenn Index größer als oder gleich dem von count zurückgegebene Wert), ein NSRangeException angehoben wird.

+0

hey ya .. danke ... Aber haben wir irgendeine Funktion zu know, wie viele Array-Elemente gibt es in einem Array. , weil ich jedes Array-Element in einen String setzen muss, dann führe eine Operation mit dem String aus, nehme dann das nächste Array-Element wieder in den gleichen String und führe eine Operation auf dem String aus ... geht ebenfalls weiter. also dachte ich an eine for-schleife. , also für Abbruchbedingung in for-Schleife, was sollte geschrieben werden? Hilf mir. ist wie für (int n = 0; n <** ?? was hier zu schreiben **; n ++) { NSString * string = [array objectAtIndex: n]; // tun einige Operation } – suse

+0

hey ... jemand plzzz Antwort – suse

+0

Hey .. Kein Problem .. Ich habe die Lösung dafür :) – suse

0

Wenn dies nur zum Debuggen ist, können Sie versuchen, po <> in der Gdb verwenden.

0

Ab Klirren Version 3.3, Sie können die [index] Notation, so

NSString *str1 = array[0]; 

jetzt funktionieren würde. Einzelheiten finden Sie unter here.

Verwandte Themen