首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >洗牌阵列与exchangeObjectAtIndex循环?

洗牌阵列与exchangeObjectAtIndex循环?
EN

Stack Overflow用户
提问于 2015-08-03 22:48:42
回答 1查看 168关注 0票数 0

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

我希望使用其他两个数组( shuffleArrayIndexshuffleArrayRand )中的值重新排序该shuffleArrayIndex

[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.count)。

因此,第一个交易所看起来是:

[mainArray exchangeObjectAtIndex:1 withObjectAtIndex:2];

第二项是:

[mainArray exchangeObjectAtIndex:3 withObjectAtIndex:1];

第三项:

[mainArray exchangeObjectAtIndex:4 withObjectAtIndex:3];

那么,我如何创建一个循环来执行此操作,该循环将与mainArray.count进行多次交换。

因此,如果mainArray有50个对象,而shuffleArrayIndexshuffleArrayRand有50个对象,那么循环将交换mainArray的对象50次。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-03 23:40:48

找到了解决办法,花了一段时间。

代码语言:javascript
运行
复制
  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];
                }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31797964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档