使用exchangeObjectAtIndex循环的随机数组?

时间:2015-08-03 22:48:43

标签: ios arrays loops

我有一个名为mainArray的数组。假设它包含Red, Orange, Yellow, Green, Blue

我想使用其他两个数组mainArrayshuffleArrayIndex中的值重新排序shuffleArrayRand

[mainArray exchangeObjectAtIndex:x withObjectAtIndex:randInt];

索引值x将来自shuffleArrayIndex。说shuffleArrayIndex包含1, 3, 4, 2, 0

withObjectAtIndex randInt将来自shuffleArrayRand。说shuffleArrayRand包含2, 1, 3, 4, 1

所以我想创建一个循环来交换mainArray个对象5次(mainArray的{​​{1}})

所以第一次交换看起来像:

.count

第二个:

[mainArray exchangeObjectAtIndex:1 withObjectAtIndex:2];

第三名:

[mainArray exchangeObjectAtIndex:3 withObjectAtIndex:1];

那么如何创建一个循环来实现这一点,它将与[mainArray exchangeObjectAtIndex:4 withObjectAtIndex:3];进行多次交换?

因此,如果mainArray.count有50个对象,mainArrayshuffleArrayIndex有50个对象,则循环将交换shuffleArrayRand个对象50次。

1 个答案:

答案 0 :(得分:0)

找到解决方案,花了一段时间。

  for (int x = 0; x < beastStatusArray.count; x++) {

                    NSNumber *indexNumber = [shuffleArrayIndex objectAtIndex:x];

                    NSNumber *randNumber = [shuffleArrayRand objectAtIndex:x];

                    NSUInteger indexNumb = [indexNumber integerValue];
                    NSUInteger indexRand = [randNumber integerValue];

                    [mainArray exchangeObjectAtIndex:indexNumb withObjectAtIndex:indexRand];
                }