我是ObjC的新手。我已经看过/阅读了一些教程。但现在我想知道如何制作一个对象数组并打印出它们的值。我是从Java角度出发的。在Java中,它看起来像这样。
MyClass [] objects = new MyClass[100];
for(int i = 0; i < objects.length;i++)
int value = i;
objects[i] = new MyClass(value);
for(int i = 0; i < objects.length;i++)
println(objects[i].value);
ObjC中的等效物怎么样?我只走了那么远:
NSMutableArray * objects = [NSMutableArray arrayWithCapacity:100];
答案 0 :(得分:1)
它可能是这样的(考虑到它可以写得更紧凑,但这会使初学者的代码神秘化):
const int NR_ELEMENTS = 100;
NSMutableArray *objects = [NSMutableArray arrayWithCapacity:NR_ELEMENTS];
for (int i=0; i < NR_ELEMENTS; i++)
{
MyClass *mc = [[MyClass alloc] initWith:i];
[objects addObject:mc];
}
for (int i=0; i < NR_ELEMENTS; i++)
{
// Suppose MyClass.value is integer
NSLog(@"%i\n", [[objects objectAtIndex:i] value]);
}
亲切的问候, PB
答案 1 :(得分:1)
不确定您的MyClass是什么样的,但如果您只想添加整数对象,则可以执行以下操作。此外,MutableArray会根据需要调整大小,因此当您将数组大小修复为100时,它不像您的情况。
NSMutableArray *objects = [NSMutableArray arrayWithCapacity:100];
for(int i = 0; i < 100; ++i)
[objects addObject:[NSNumber numberWithInt:i]];
for(id object in objects) {
NSLog(@"%@\n",object);
}