如何通过 for 语句或枚举打印 NSArray 对象? [复制]

Posted

技术标签:

【中文标题】如何通过 for 语句或枚举打印 NSArray 对象? [复制]【英文标题】:How to print NSArray objects via for statement or enumeration? [duplicate] 【发布时间】:2012-01-14 05:22:25 【问题描述】:

可能重复:How do I iterate over an NSArray?

这是我的代码(例如):

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

我想通过数组循环打印每个字符串到控制台。

谢谢。

【问题讨论】:

【参考方案1】:

最简单的方法就是:

NSLog(@"%@", myArray);

或者,如果您想使用快速枚举以自己的方式打印每个对象:

for (NSString *string in myArray) 
    NSLog(@"%@", string);

【讨论】:

【参考方案2】:

让我们找出最复杂的方法,好吗?

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

【讨论】:

这是如何被接受的?我只是个聪明人 相当令人印象深刻。我错过了一些位移...... 或者通过放大镜将太阳光线聚焦到相关的存储单元上,直接在 RAM 芯片上进行位操作

以上是关于如何通过 for 语句或枚举打印 NSArray 对象? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用数组打印多个枚举值?

c语言如何遍历枚举元素

如何使用for语句打印出1-100的偶数?

for..in遍历,枚举器

[JavaScript]_[初级]_[关于forin或for...in循环语句的用法]

[JavaScript]_[初级]_[关于forin或for...in循环语句的用法]