将NSMutableArray的前10个对象复制到另一个NSMutable Array中。

12

我有一个包含35个项目的NSMutableArray,我想将前10个项目复制到另一个数组中。

在向我的数组添加10个项目后,我想再次添加相同的10个项目。

请建议如何实现。

代码:

我已经以以下方式初始化具有所有图像的数组

    self.arrayAllAnimalImages = [[NSMutableArray alloc] init];

[self.arrayAllAnimalImages addObject:@"bagheera.jpg"];
[self.arrayAllAnimalImages addObject:@"baloo.jpg"];
[self.arrayAllAnimalImages addObject:@"bear.jpg"];
[self.arrayAllAnimalImages addObject:@"bird.jpg"];
[self.arrayAllAnimalImages addObject:@"camel.jpg"];
[self.arrayAllAnimalImages addObject:@"cock.jpg"];
[self.arrayAllAnimalImages addObject:@"deer.jpg"];
[self.arrayAllAnimalImages addObject:@"dolphin.jpg"];
[self.arrayAllAnimalImages addObject:@"donkey.jpg"];
[self.arrayAllAnimalImages addObject:@"elephant.jpg"];
[self.arrayAllAnimalImages addObject:@"fish.jpg"];
[self.arrayAllAnimalImages addObject:@"flamigo.jpg"];
[self.arrayAllAnimalImages addObject:@"frog.jpg"];
[self.arrayAllAnimalImages addObject:@"girraf.jpg"];
[self.arrayAllAnimalImages addObject:@"hippo.jpg"];
[self.arrayAllAnimalImages addObject:@"monkey.jpg"];
[self.arrayAllAnimalImages addObject:@"octopus.jpg"];
[self.arrayAllAnimalImages addObject:@"owl.jpg"];
[self.arrayAllAnimalImages addObject:@"panda.jpg"];
[self.arrayAllAnimalImages addObject:@"parrot.jpg"];
[self.arrayAllAnimalImages addObject:@"peacock.jpg"];
[self.arrayAllAnimalImages addObject:@"penguin.jpg"];
[self.arrayAllAnimalImages addObject:@"piglet.jpg"];
[self.arrayAllAnimalImages addObject:@"polarbear.jpg"];
[self.arrayAllAnimalImages addObject:@"pumba.jpg"];
[self.arrayAllAnimalImages addObject:@"rabbit.jpg"];
[self.arrayAllAnimalImages addObject:@"redpanda.jpg"];
[self.arrayAllAnimalImages addObject:@"seahorse.jpg"];
[self.arrayAllAnimalImages addObject:@"simba.jpg"];
[self.arrayAllAnimalImages addObject:@"snake.jpg"];
[self.arrayAllAnimalImages addObject:@"starfish.jpg"];
[self.arrayAllAnimalImages addObject:@"tiger.jpg"];
[self.arrayAllAnimalImages addObject:@"tigger.jpg"];
[self.arrayAllAnimalImages addObject:@"turtle.jpg"];
[self.arrayAllAnimalImages addObject:@"whale.jpg"];

我想随机从上面的数组中选取10个项目,这里我有一个已被打乱顺序的数组

for (int i = 0; i<[arrayAllAnimalImages count] ;i++)
    {
        NSUInteger randomIndex = arc4random() % [arrayAllAnimalImages  count];
        [arrayAllAnimalImages  exchangeObjectAtIndex:i withObjectAtIndex:randomIndex];  


    }   

现在我想将这10个项目添加到我在此处初始化的空数组中:

if (LevelCount ==2)
{
    self.arrayLevelImages= [[NSMutableArray alloc] init];

    if ([arrayLevelImages count] > 0)
    {
        [arrayLevelImages removeAllObjects];
    }

现在我想要添加arrayAllAnimalImages数组的前10个元素。

在添加完前10个元素后,我还想再次添加相同的前10个元素到arrayLevelImages数组中。

}   

请帮忙!!!!


请澄清你问题的第二部分:你是说在将前10个项目添加到第二个数组后,你想再次将来自第一个数组的相同10个项目添加到第二个数组中吗? - Snips
1
经典问题:你已经尝试过什么了吗? - Rudy Velthuis
2个回答

39
NSArray *tempArray = [arrayAllAnimalImages subarrayWithRange:NSMakeRange(0, 10)];
[arrayLevelImages addObjectsFromArray:tempArray];
[arrayLevelImages addObjectsFromArray:tempArray];

非常好的答案。它节省了我的时间。完美的解决方案。 - Jagat Dave

0
NSArray *arrayLevelImages = [[arrayAllAnimalImages 
                              subarrayWithRange:NSMakeRange(0, 10)] mutableCopy];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接