0

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

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

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

新数组就像 array0,array1,array2,array3,array4....等

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

4

2 回答 2

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];
于 2012-08-21T11:56:20.590 回答
0

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

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"];
于 2012-08-21T12:01:14.283 回答