2017-09-27 14 views
0

私はこのフィールドでは新しいです。私は子供のゲーム用のアプリケーションを作成したいと思います。 私はこのコードを使用しました。UIImage objective-cに保存されている画像を消去する方法

私は配列にイメージを格納しています。私はストアイメージをクリアする必要があります。すべての配列値をクリアする方法。

私のコード:B == dにおける

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]; 
} 

は等しいが、私はコードから関数を呼び出すselectnextが、その前に、私はそれを行うにはどのように画像をクリアする必要があります。全体の配列を除去するための

+0

、によってimages配列からUIImagesを削除するには、それをより具体的にすることができますか?画面( 'UIImageView')またはメモリ(' variable'''''' '' '' '' mutableArray)の画像をクリアしますか?または、私の[解決策](https://stackoverflow.com/a/46439982/4061501)を使用して問題を既に解決している –

+0

実際には、同じ質問に関する情報を追加するために新しい質問を作成する必要はありません。それは[編集](https://stackoverflow.com/posts/46439689/edit)です。 –

答えて

0

は、ラインの下に使用してください: -

[yourArray removeAllObjects]; 

そしてUIImageViewから画像を削除するために、ラインの下に使用してください: -

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

私は自分のコードをそのコードに実装する方法を編集しました。 – teena

+1

あなたはNSMutableArrayの権利としてイメージを作成しました。私が推測するすべてのイメージを削除したいので、私の最初の提案を使用してください。 アレイをクリアするときはいつでも、次のようにしてください: [images removeAllObjects]; –

+0

それは働いていますか? Dの== bが、私は、関数selectfunctionを呼び出す必要がある場合(無効)チェック、つまりしかしその前に、私はコード内のselectedimageとして指名uiimageに格納されたデータをクリアする必要がある - @teena –

0

あなたが削除することができます要素NSMutableArrayから​​を呼び出してください。あなたのケースで 、

-(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]; 

    } 
    ... 
    ... 
} 
+0

感謝..... – teena

+0

それを受け入れてください。 –

関連する問題