多维数组动态创建

时间:2014-04-10 06:18:08

标签: ios objective-c multidimensional-array

我想在目标c中添加创建二维数组,例如int a[0][i],就像这个未指定数量的列一样。我有一个普通的NSMutableArray包含图像。现在我需要的是如果我拿一个3照片第一次必须保存在第0列,然后我将拍摄另外4张照片,它必须保存在第1列中。如果我拍摄3张照片,这些图像首先保存在名为" image_name&#的NSMutableArray中34;现在,一堆图像必须移动到索引路径0,然后第二次我将拍摄2张照片,它必须保存在索引路径1中,并且必须继续。

索引路径必须是未指定的,我必须从名为" image_name"的NSMutableArray中插入一堆图像。索引路径0然后清除" image_name"数组现在捕获一堆图像移动到索引路径1,它必须继续前进?

请帮助如何创建动态二维数组?

4 个答案:

答案 0 :(得分:0)

不是将图像存储在NSMutableArray中,而是存储其他包含图像的NSMutableArrays。

NSArray *my2DImageArray = @[ @[ image00, image01, image02 ], @[ image10, image11, image12 ], @[ image20, image21 ], @[ image30 ], ];

答案 1 :(得分:0)

NSMutableArray *firstDimensionArray = [[NSMutableArray alloc] init];

NSMutableArray *oneArray = [[NSMutableArray alloc] init];
NSMutableArray *twoArray = [[NSMutableArray alloc] init];
NSMutableArray *threeArray = [[NSMutableArray alloc] init];

[firstDimensionArray addObject:oneArray];
[firstDimensionArray addObject:twoArray];
[firstDimensionArray addObject:threeArray];

//Edit: added anObject declaration to avoid xCode warnings/errors in case of copy/pasting...    
NSObject *yourObject;

// Insert an object in the 'threeArray'
//Edit 2: added cast

[(NSMutableArray *)[firstDimensionArray objectAtIndex:2] addObject:yourObject]

答案 2 :(得分:0)

请检查以下代码,

对于主阵列,您必须创建一个NSMutableArray,您需要在第一时间进行初始化。

NSMutableArray *arrFinal=[[NSMutableArray alloc] init];

现在对于您捕获的图像,创建一个数组,让我们说

NSMutableArray *arrImage_Name=[[NSMutableArray alloc] init];

现在,无论何时捕获图像,都将其添加到数据中,

[arrImage_Name addObject:Image1];
[arrImage_Name addObject:Image2];
[arrImage_Name addObject:Image3];

现在将其添加到主数组

[arrFinal addObject:arrImage_Name];

然后释放arrImage_Name。

[arrImage_Name release];
arrImage_Name=nil;

每次捕获图像时都必须使用arrImage_Name,并将其排成行以将其保存到最终图像数组中。

每当你捕获第一个图像时,首先分配arrImage_Name,然后进行下一个处理。

arrFinal将在您完成或导航到下一个屏幕后最终发布 我希望它会对你有所帮助。

答案 3 :(得分:0)

您可以创建一个主数组并在新创建的数组中添加一组图像,并将此本地数组添加到主数组中。