我想在目标c中添加创建一个二维数组,例如int a[0][i]
,就像这个未指定数量的列一样。我有一个普通的NSMutableArray,其中包含图像。现在我需要的是,如果我第一次拍摄3张照片,它必须保存在第0列中,然后我将再拍摄4张照片,必须保存在第一列中。最初,如果我拍摄3张照片,这些图像将首先保存在名为"image_name"的NSMugableArray中。现在,这组图像必须移动到索引路径0,然后第二次我将拍摄2张照片,例如,它必须保存在索引路径1中,它必须继续。
索引路径必须是未指定的,我必须将名为"image_name"的NSMutableArray中的一组图像插入索引路径0,然后清除"image_name"阵列。现在捕获一组图像移动到索引路径1,它必须继续吗?
请帮助如何创建动态二维数组?
不要将图像存储在您的NSMutableArray中,而是存储其他包含图像的NSMutableArray。
NSArray *my2DImageArray = @[
@[ image00, image01, image02 ],
@[ image10, image11, image12 ],
@[ image20, image21 ],
@[ image30 ],
];
请检查以下代码,
对于主阵列,您必须创建一个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,并将其行保存到最终的图像数组中。
每当u捕获第一个图像时,首先分配arrImage_Name,然后进行下一个处理。
arrFinal最终将在您完成或导航到下一个屏幕时发布我希望它能帮助你。
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]
您可以创建一个主数组,在新创建的数组中添加一组图像,并将此本地数组添加到主数组中。