動物の画像を含む配列、対応する動物の音を含む別の配列、および動物の名前を含む最後の配列があります。例えば:
imagesArray:
0:[UIImage imageNamed:@"Elephant.png"]
1:[UIImage imageNamed:@"Dog.png"]
2:[UIImage imageNamed:@"Cat.png"]
soundArray:
0:Elephant.mp3
1:Dog.mp3
2:Cat.mp3
wordsArray:
0:象
1:犬
2:猫
それらは同期されており、同じカウンターで動作します。最初はそれらを新しい3つの配列にランダムに配置したいのですが、同じ動物の詳細(画像、音、または単語)を3つの配列すべてで同じにしたいのです。たとえば、新しいアレイは次のようになります。
imagesArray:
0:[UIImage imageNamed:@"Cat.png"]
1:[UIImage imageNamed:@"Dog.png"]
2:[UIImage imageNamed:@"Elephant.png"]
soundArray:
0:Cat.mp3
1:Dog.mp3
2:Elephant.mp3
wordsArray:
0:猫
1:犬
2:象
私はこのコードをビューに書き込んでロードしました:
theNewAnimalsPicture = [NSArray arrayWithObjects:[UIImage imageNamed:@"Square_Bee.png"],[UIImage imageNamed:@"Square_Bird.png"],[UIImage imageNamed:@"Square_Cat.png"],[UIImage imageNamed:@"Square_Chicken.png"],[UIImage imageNamed:@"Square_Cow.png"],[UIImage imageNamed:@"Square_Dog.png"],[UIImage imageNamed:@"Square_Elephant.png"],[UIImage imageNamed:@"Square_Frog.png"],[UIImage imageNamed:@"Square_Horse.png"],[UIImage imageNamed:@"Square_Lion.png"],[UIImage imageNamed:@"Square_Monkey.png"],[UIImage imageNamed:@"Square_Sheep.png"], nil];
theNewAnimalsSound = [NSArray arrayWithObjects:@"Bee.mp3",@"Bird.mp3",@"Miao.mp3",@"Chicken.mp3",@"Cow.mp3",@"Waff.mp3",@"Elephant2.mp3",@"Frog.mp3",@"Horse.mp3",@"LionSound.mp3",@"Monkey_Sound.mp3",@"Sheep.mp3", nil];
theNewAnimalsWord = [NSArray arrayWithObjects:@"Bee",@"Bird",@"Cat",@"Chicken",@"Cow",@"Dog",@"Elephant",@"Frog",@"Horse",@"Lion",@"Monkey",@"Sheep", nil];
for (int i =0;i<[theNewAnimalsPicture count];i++)
{
int number = arc4random() % [theNewAnimalsPicture count];
[PicturesAnimalArray addObject:[theNewAnimalsPicture objectAtIndex:number]];
[SoundsAnimalArray addObject:[theNewAnimalsSound objectAtIndex:number]];
[wordAnimalArray addObject:[theNewAnimalsWord objectAtIndex:number]];
[theNewAnimalsPicture removeObjectAtIndex:number];
[theNewAnimalsSound removeObjectAtIndex:number];
[theNewAnimalsWord removeObjectAtIndex:number];
}
動作していません。それはなぜですか、そしてどうすればここで行ったよりも効率的な方法でこれを行うことができますか?