在我的一个应用程序中,我必须在运行时根据需要创建数组。如下:
for(int i=0;i<10;i++)
{
NSMutableArray *array1 = [[NSMutableArray alloc] init];
}
意味着我不是创建像array1这样的单个数组,而是想根据i值创建数组。就像在for循环中满足条件一样。
新数组将类似于array0,array1,array2,array3,array4 ......等
如果有人知道请告诉我。提前谢谢。
答案 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"];