如何清除存储在UIImage objective-c中的图像

我在这个领域是新的。我想为孩子们的游戏创build一个应用程序。 我已经使用这个代码。

我已经将图像存储在数组中,我需要清除存储图像。所以如何清除所有的数组值。

我的代码:

images=[[NSMutableArray alloc]initWithObjects:[UIImage imageNamed:@"Navarre-Family-Eye-Care-Navarre-Florida-Optometrist-Santa-Christmas-Toy-Safety.jpg"],[UIImage imageNamed:@"Christmas-Wallpapers-HD-Picture.jpg"],[UIImage imageNamed:@"Christmas-Wallpaper-jesus-9413550-1024-768.jpg"],[UIImage imageNamed:@"tree.jpg"],[UIImage imageNamed:@"luxury-christmas-napkins-father-christmas-1635-p.jpg"],[UIImage imageNamed:@"Navarre-Family-Eye-Care-Navarre-Florida-Optometrist-Santa-Christmas-Toy-Safety.jpg"],[UIImage imageNamed:@"Christmas-Wallpapers-HD-Picture.jpg"],[UIImage imageNamed:@"Christmas-Wallpaper-jesus-9413550-1024-768.jpg"],[UIImage imageNamed:@"tree.jpg"],[UIImage imageNamed:@"luxury-christmas-napkins-father-christmas-1635-p.jpg"], nil]; NSString *dd=[NSString stringWithFormat:@"%@", images]; NSLog(@"%@",dd); //used random number for image...and got a random image randomIndex1=arc4random() % images.count; selectedImage = [images objectAtIndex:randomIndex1]; //random selected image NSLog(@"%@",selectedImage); //stored 1 to 10 numbers in array... number = [[NSMutableArray alloc]initWithObjects:@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"10", nil]; //used random numbers in numbers...and got a random number.... randomNumber = arc4random() % number.count; //random selected number num= [number objectAtIndex:randomNumber]; ss=[NSString stringWithFormat:@"%@",num]; NSLog(@"%@",ss); b = [ss integerValue]; //NSLog(@"%ld",(long)b); //dispalying the image based on random number // for (int i = 0; i <b; i++) // { // NSLog(@"%@", selectedImage); // _img.image = selectedImage; //cell.img.image=selectedImage; //} //used tag on UIImageView to display the image.... for (int j = 1 ; j <=b ; j++){ id subView = [self.view viewWithTag:j]; if ([subView isKindOfClass:[UIImageView class]]){ ((UIImageView *)subView).image = selectedImage; } } } -(void)check{ if (d==b) { [self selectnext]; } else { UIAlertController * alert=[UIAlertController alertControllerWithTitle:@"Title" message:@"Message" preferredStyle:UIAlertControllerStyleAlert]; UIAlertAction* yesButton = [UIAlertAction actionWithTitle:@"Yes, please" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) { /** What we write here???????? **/ NSLog(@"you pressed Yes, please button"); // call method whatever u need }]; UIAlertAction* noButton = [UIAlertAction actionWithTitle:@"No, thanks" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) { /** What we write here???????? **/ NSLog(@"you pressed No, thanks button"); // call method whatever u need }]; [alert addAction:yesButton]; [alert addAction:noButton]; [self presentViewController:alert animated:YES completion:nil]; } } -(IBAction)button11:(id)sender { d=1; [self check]; } -(IBAction)button12:(id)sender { d=2; [self check]; } 

在B == D是相等的,然后我从代码中调用函数selectnext,但在此之前,我需要清除图像如何做到这一点。

删除整个数组,请使用下面的行: –

 [yourArray removeAllObjects]; 

而要从UIImageView中删除图像,请使用下面的行: –

 UIImageView *imgV = [[UIImageView alloc] initWithImage:nil]; 

你可以通过调用removeAllObjectsNSMutableArray移除元素。 在你的情况下,从images数组中删除UIImages

 -(void)check{ if (d==b) { [images removeAllObjects]; for (int j = 1 ; j <=b ; j++){ id subView = [self.view viewWithTag:j]; if ([subView isKindOfClass:[UIImageView class]]){ ((UIImageView *)subView).image = nil; } } [self selectnext]; } ... ... }