初始化具有未知大小的NSArray

时间:2011-12-19 11:06:40

标签: objective-c xcode nsmutablearray

初始化数组后,为了设置所需位置的值,我正在使用

[self.appName replaceObjectAtIndex:x withObject:[self.appCell objectAtIndex: 0]];

问题是如果我初始化没有对象的appName数组,这个数组保持为空,我必须使用initWithObjects初始化它然后工作。问题是我不知道数组的大小,如果我设置它:

NSMutableArray *nameArray = [[ NSMutableArray alloc] initWithObjects:@"test",@"test",@"test",@"test", nil];
self.appName = nameArray;
[nameArray release];

例如,在replaceObjectAtIndex之后,从0到3但从第4位到第2位的工作,position的值为nil。怎么解决?谢谢

2 个答案:

答案 0 :(得分:1)

这是一个 mutable 数组,你可以随时添加对象(到最后)和插入对象(在中间):

NSMutableArray *nameArray = [[NSMutableArray alloc] init];
[nameArray addObject:@"test"];
[nameArray insertObject:@"another test" atIndex:0];
[nameArray removeObjectAtIndex:1];

您可以在指向可变数组的任何位置执行此操作。

答案 1 :(得分:0)

查看NSArray上的count方法,它会为您提供数组中元素的数量。因此,检查您的索引x是否小于计数,然后您可以删除该元素。