在我的一个应用程序中,我必须在需要时在运行时创建数组。如下:
for(int i=0;i<10;i++)
{
NSMutableArray *array1 = [[NSMutableArray alloc] init];
}
意味着我想根据 i 值创建数组,而不是创建像 array1 这样的单个数组。就像在 for 循环中满足条件一样。
新数组就像 array0,array1,array2,array3,array4....等
如果有人知道,请告诉我。提前致谢。
如何创建一个数组数组?喜欢:
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];
听起来您想根据命名约定访问一堆不同的数组:数组“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"];