2011-12-06 11 views
6

संभव डुप्लिकेट:
How do I iterate over an NSArray?कथन या गणना के लिए एनएसएआरएआरई वस्तुओं को कैसे मुद्रित करें?

यहाँ मेरी कोड (उदाहरण के लिए) है:

NSArray *myArray = [NSArray arrayWithObjects:@"Red", @"Blue", @"Green", nil]; 

मैं सरणी कंसोल के लिए प्रत्येक स्ट्रिंग मुद्रण के माध्यम से लूप चाहते हैं।

धन्यवाद।

उत्तर

18

की सबसे जटिल तरीका पता करते हैं, करेगा हम?

NSArray *myArray = [NSArray array]; 
id *objects = malloc(sizeof(id) * myArray.count); 
[myArray getObjects:objects range:NSMakeRange(0, myArray.count)]; 

char **strings = malloc(sizeof(char *) * myArray.count); 

for (int i = 0; i < myArray.count; i++) 
{ 
    strings[i] = [objects[i] UTF8String]; 
} 

printf("<"); 
for (int i = 0; i < myArray.count; i++) 
{ 
    printf("%s" strings[i]); 
    if (i != myArray.count - 1) 
     printf(", "); 
} 
printf(">"); 

free(objects); 
free(strings); 
बेशक

, आप हमेशा बस इसे इस तरह कर सकते हैं:

NSLog(@"%@", myArray); 
+1

धन्यवाद। मैं इसे लेता हूं: – Xtrician

+10

यह कैसे स्वीकार किया गया था? मैं बस एक स्मार्ट-गधा –

+2

काफी प्रभावशाली था। मुझे कुछ बिट-शिफ्टिंग याद आ रही है ... – vikingosegundo

25

सबसे आसान तरीका है बस है:

NSLog(@"%@", myArray); 

या, आप तेजी से गणना का उपयोग करने के अपने अपने तरीके से प्रत्येक वस्तु को मुद्रित करना चाहते हैं:

for (NSString *string in myArray) { 
    NSLog(@"%@", string); 
} 
संबंधित मुद्दे