打印输出以便快速枚举

时间:2015-03-27 15:28:10

标签: objective-c fast-enumeration

哪些代码行允许我们通过快速枚举打印迭代而不重复前提声明?我的代码如下:

#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;
}

代码的结果如下:

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

如果之后每行都不重复My grocery list is,如何让程序产生以下内容:

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

1 个答案:

答案 0 :(得分:1)

这是你的答案:

    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;
    }
}