We can use something called Fast Enumeration for this, using a modified for loop:
// build an array NSArray *myArray = [[NSArray alloc]initWithObjects:@"One", @"Two", @"Three", @"Four", nil]; // loop through every element (dynamic typing) for (id tempObject in myArray) { NSLog(@"Single element: %@", tempObject); }
You don’t have to use dynamic typing if you know the types of objects you’re using. In our example this would work just as well:
// build an array NSArray *myArray = [[NSArray alloc]initWithObjects:@"One", @"Two", @"Three", @"Four", nil]; // loop through every element (static typing) for (NSString *tempObject in myArray) { NSLog(@"Single element: %@", tempObject); }
Fast Enumeration also works with NSDictionaries of course:
// build a dictionary NSDictionary *myDictionary = [[NSDictionary alloc]initWithObjectsAndKeys:@"One", @"1", @"Two",@"2", @"Three", @"3",nil]; // loop through it (dynamic typing) for (id tempObject in myDictionary) { NSLog(@"Object: %@, Key: %@", [myDictionary objectForKey:tempObject], tempObject); }