0

私のアプリケーションでは、4 つのボタンがあります。UIButtonクリックするたびに、配列からシャッフルされたタイトルの値を表示したいと思います。私はこれを試しました NSMutableArrayをシャッフルする最良の方法は何ですか? しかし、それは機能していません。

4

2 に答える 2

1

配列のインデックスをシャッフルし、そのインデックスを使用して値を選択します。

 int rndIndex = arc4random()%[yourArray count];

 [yourArray objectAtIndex:rndIndex];
于 2012-10-19T11:35:00.840 に答える
0

配列を作成する場所:

ヘッダー (.h) ファイル内

NSArray *words;

そしてその少し下

- (IBAction)aButtonWasClicked:(id)sender;

あなたのコードファイル(.m)では、viewDidLoadのように

words = [[NSArray arrayWithObjects:@"One", @"Two", @"Three", @"Four", nil] retain];

(ios 6では、このようにするかもしれません

words = @[@"One", @"Two", @"Three", @"Four"];

次に、これを行います:

- (IBAction)aButtonWasClicked:(id)sender {
    int value = arv4random() % ([words count] -1);
    UIButton *mybutton = (UIButton *)sender;
    [mybbutton setTitle:[words objectAtIndex:value] forState:UIControlStateNormal];
}

4 つのボタンすべてを同じアクションにフックすることを忘れないでください。

それだけです。同じタイトルのボタンがないことを確認する関数を簡単に追加できます。

于 2012-10-19T11:49:07.670 に答える