0

アプリの 1 つで問題が発生しています。私は36個の画像と36個のサウンドと36個のテキストを持っています。これはすべて同じ名前です。これの配列を宣言したいのは、テキストの画像配列とサウンド配列の配列を意味し、ボタンタグとオンにこれからランダムに9つの画像を表示したい同じページ 9 サウンド再生ワン バイ ワン テキストで、そのイメージを識別します。

だからここで私は画像配列とテキストの配列を宣言します私はarc4randomと画像の取得も行いましたが、問題はここで辞書を使用してデータをこの辞書に保存できるようにする方法です。 .

4

3 に答える 3

1

辞書オブジェクトの配列を作成する必要があります。各辞書オブジェクトには、1 つの画像、1 つの音声、および 1 つのテキスト オブジェクト (同じ名前のもの) が含まれます。したがって、配列には 36 個のディクショナリ オブジェクトが含まれ、各ディクショナリ オブジェクトにはそれぞれ 3 つのオブジェクトが含まれます。

NSMutableArray *combinedArray = [[NSMutableArray alloc] init];
for(i=0;i<36;i++) {
    NSDictionary *dict = [[NSDictionary dictionaryWithObjectsAndKeys:[imageArray objectAtIndex:i], @"image", [textArray objectAtIndex:i], @"text", [soundArray objectAtIndex:i], @"sound", nil]];
    [combinedArray addObject:dict];
}

これで、combinedArray で arc4Random を使用できるようになり、選択したランダム インデックスに対応する 3 つのオブジェクトすべてが表示されます。お役に立てれば

于 2013-01-29T05:38:49.830 に答える
0

わかりました...今、あなたがしたことは、textarray、soundarray、およびimagearrayを作成したことです。

これら 3 つの配列を作成したら、以下のようなコードを記述します。

        for(int i=0;i<36:i++)
      {
        dictMut=[[NSMutableDictionary alloc]init];
        [dictMut setObject:[textarray objectAtIndex:w] forKey:@"A"];
        [dictMut setObject:[soundarray objectAtIndex:w] forKey:@"B"];
        [dictMut setObject:[imagearray objectAtIndex:w] forKey:@"C"];
      }

配列の値はディクショナリに格納されます。

それが機能しているかどうかを教えてください!!!!

HaPPYコーディング!!!!

于 2013-01-29T09:32:12.707 に答える
0

配列を辞書に格納する場合は、コードの下に記述します。3 つの異なる配列を作成してから for ループを作成します。

          for(int i=0;i<some value:i++)
          {
            dictMut=[[NSMutableDictionary alloc]init];
            [dictMut setObject:[dataArrayA objectAtIndex:w] forKey:@"A"];
            [dictMut setObject:[dataArrayB objectAtIndex:w] forKey:@"B"];
            [dictMut setObject:[dataArrayC objectAtIndex:w] forKey:@"C"];
          }

それが機能しているかどうかを教えてください!!!

ハッピーコーディング!!!!

于 2013-01-29T05:35:29.930 に答える