我正在开发一个应用程序,其中从NSMutableArray加载图像。它生成随机图像并将其加载到iOS中的UIImageview。我想把这个数组在载入后保存成另一个数组我该怎么做呢。提前谢谢。
My Code As Below.
//FrontsCards is My Array
for(m=0; m<[FrontsCards count];m++)
{
ImgView.alpha=1;
ImgView.tag=m;
NSLog(@"Img View Tag %d",ImgView.tag);
randIdx=arc4random()%[FrontsCards count];
NSString *imageName=[FrontsCards objectAtIndex:randIdx];
NSString *fullImageName=[NSString stringWithFormat:@"%@",imageName];
int padding=0;
CGRect imageViewFrame=CGRectMake(scrollView.frame.size.width*m+padding, scrollView.frame.origin.y, scrollView.frame.size.width-2*padding, scrollView.frame.size.height);
ImgView=[[UIImageView alloc]initWithFrame:imageViewFrame];
[ImgView setImage:[UIImage imageNamed:fullImageName]];
[scrollView addSubview:ImgView];
[ImgView setAccessibilityIdentifier:[FrontsCards objectAtIndex:randIdx]];
UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(doubleTapImgView:)];
doubleTap.numberOfTapsRequired = 2;
doubleTap.delegate = self;
[self.ImgView setImage:[UIImage imageNamed:fullImageName]];
NSLog(@"full image name %@",fullImageName);
NSLog(@"Image Name = %@", fullImageName);
[self.ImgView setTag:randIdx];
[self.ImgView addGestureRecognizer:doubleTap];
self.ImgView.userInteractionEnabled=YES;
}
CGSize scrollViewSize=CGSizeMake(scrollView.frame.size.width*[FrontsCards count], scrollView.frame.size.height);
[scrollView setContentSize:scrollViewSize];
[self.view addSubview:scrollView];
为ViewDidLoad
创建另一个Array
和init
,并在生成时依次添加对象
NSString *imageName=[FrontsCards objectAtIndex:randIdx];
[yourNewArray addObject:imageName];
尝试复制NSMutableArray
NSArray *newArray = [[oldArray mutableCopy]
或:
NSMutableArray *newArray = [[[NSMutableArray alloc] initWithArray:oldArray copyItems:YES] autorelease];
在这段代码之后:
randIdx=arc4random()%[FrontsCards count];
将索引保存到另一个数组中,并使用它指向原始数组。