Printout for fast enumeration

48 Views Asked by At

What lines of code allow us to print the iterations through fast enumeration without repeating the prefatory statement? My code is the following:

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {

        // Create an empty mutable array
        NSMutableArray *listGroceries = [NSMutableArray array];

        // Add two dates to the array
        [listGroceries addObject:@"Container of milk"];
        [listGroceries addObject:@"Stick of butter"];

        // Add yesterday at the beginning of the list
        [listGroceries insertObject:@"Loaf of bread" atIndex:0];

        // How many dates are in the array?
        NSLog(@"There are %lu Groceries", [listGroceries count]);

        for (NSDate *d in listGroceries) {
            NSLog(@"My grocery list is: %@", d);
        }

    }
    return 0;
}

The result of the code is the following:

2015-03-26 14:05:42.553 Groceries[3131:129994] My grocery list is: Loaf of bread
2015-03-26 14:05:42.553 Groceries[3131:129994] My grocery list is: Container of milk
2015-03-26 14:05:42.553 Groceries[3131:129994] My grocery list is: Stick of butter

How do I make the program produce the following without the My grocery list is being repeated every line afterwards:

    My grocery list is:
    Loaf of bread
    Container of milk
    Stick of butter
1

There are 1 best solutions below

0
itsji10dra On BEST ANSWER

Here is your answer :

    int main(int argc, char * argv[]) {
    @autoreleasepool {

    // Create an empty mutable array
    NSMutableArray *listGroceries = [NSMutableArray array];

    // Add two dates to the array
    [listGroceries addObject:@"Container of milk"];
    [listGroceries addObject:@"Stick of butter"];

    // Add yesterday at the beginning of the list
    [listGroceries insertObject:@"Loaf of bread" atIndex:0];

    // How many dates are in the array?
    NSLog(@"There are %lu Groceries", [listGroceries count]);

    printf("My grocery list is: \n");

    for (NSString *d in listGroceries) {

        printf("%s \n", d.UTF8String);
    }


    return 0;
    }
}