我有一个名为mainArray
的数组。假设它包含Red, Orange, Yellow, Green, Blue
。
我想使用其他两个数组mainArray
和shuffleArrayIndex
中的值重新排序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个对象,mainArray
和shuffleArrayIndex
有50个对象,则循环将交换shuffleArrayRand
个对象50次。
答案 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];
}