如何通过 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 对象? [复制]的主要内容,如果未能解决你的问题,请参考以下文章