0

これはこのフォーラムでの私の最初の質問であり、私を責めないでください。私はアプリを作ろうとしていますが、助けが必要ですNSMutableArray

.hファイルで次のようなUIIMageViewオブジェクトを宣言しました。

IBOutlet UIImageView *image1;
IBOutlet UIImageView *image2;
NSMuttableArray *images;

.mファイルでHidden:YESを設定しました。また、次のようにNSMuttableArrayに挿入しました。

images = [[NSMutableArray alloc] initWithCapacity:2];
    [images addObject:image1];
    [images addObject:image2];
  1. 配列からランダムなUIImageViewを設定するにはどうすればよいsetHidden:NOですか?
  2. 非表示にしないように設定した後、そのオブジェクトを配列から削除するにはどうすればよいですか?
  3. -(IBAction) btnclick {}もう一度非表示にして、さらに多くの場合に備えて、このNSMuttableArrayから次のランダムな画像を表示するなどのアクションの後。
4

2 に答える 2

1

これはおそらくあなたがやりたいことです:

(これは、ランダムな画像imoを表示する方法であるため、UIImagesの配列にしますが、UIImageViewsでもこれを行うことができますが、これもお勧めしません)

-(void)buttonClickedMethod
{
    if(images.count > 0)
    {
        int randomValue = arc4random_uniform(images.count); //get yourself a nice random value as used in http://stackoverflow.com/questions/160890/generating-random-numbers-in-objective-c
        myImageView.image = [images getObjectAtIndex:randomValue]; //get yourself the random image and set it to your UIImageView (which you probably want it to be image1 or image2 in your case)
        [images removeObjectAtIndex:randomValue]; //remove the random image from you list so that you want get it again the next you click the button
    }
}

これはおそらくあなたの問題に対処するための最良の方法です。

後で画像ビューからランダムな画像を削除するメソッドを追加したい場合もありますが、そうでない場合もあります。

于 2012-08-16T01:20:03.007 に答える
0

私があなたが試すことができると思う一つの方法は次のとおりです:

  1. それぞれにタグを割り当てますUIImageView。100UIImageView秒あるとすると、1から100までのタグがあります。これは[view setTag:1];、などを介して実行できます。

  2. NSMutableSet1〜100を含むを作成します(オブジェクトのみを受け入れるNSNumberため、sである必要があります)。NSSet

  3. セットからオブジェクトを取得するには、を実行します[set anyObject]。次に、それを整数に変換し直してviewWithTag:、ビューを取得するために使用できます。その後、できますsetHidden:NO

  4. NSMutableSet最後に、簡単なものからオブジェクトを削除します。

配列は定義上順序付けられています。セットはあなたの目的にとってはるかに優れています。UIImageViewまた、配列にsを追加するのはちょっと変だと思います。

于 2012-08-16T00:48:05.833 に答える