如何在iphone中运行时创建NSMutableArray

时间:2012-08-21 11:53:39

标签: iphone for-loop nsarray

在我的一个应用程序中,我必须在运行时根据需要创建数组。如下:

for(int i=0;i<10;i++)
{
   NSMutableArray *array1 = [[NSMutableArray alloc] init];
} 

意味着我不是创建像array1这样的单个数组,而是想根据i值创建数组。就像在for循环中满足条件一样。

新数组将类似于array0,array1,array2,array3,array4 ......等

如果有人知道请告诉我。提前谢谢。

2 个答案:

答案 0 :(得分:1)

如何创建数组?像:

NSMutableArray *array = [NSMutableArray arrayWithCapacity:10];
for (int i = 0; i < 10; i++) {
     [array addObject:[NSMutableArray array]];
}

//get array 0
NSMutableArray *array0 = [array objectAtIndex:0];

//get array 1
NSMutableArray *array1 = [array objectAtIndex:1];

//get array i

NSMutableArray *arrayI = [array objectAtIndex:i];

答案 1 :(得分:0)

听起来你想根据命名约定访问一堆不同的数组:array“i”。您无法真正创建这样的动态变量,但您可以创建字符串并将这些数组存储在NSMutableDictionary中以便于检索。

NSUInteger count = 10;
NSMutableDictionary *arrays = [NSMutableDictionary dictionaryWithCapacity:count];
for (int i = 0; i < count; i++){
    [arrays setObject:[[NSMutableArray alloc] init] forKey:[NSString stringWithFormat: @"array%i", i];
}

现在,当您想要访问特定阵列时,可以使用:

NSMutableArray *array1 = [arrays objectForKey:@"array1"];