Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 在NSMutableArray中洗牌内容_Iphone_Objective C - Fatal编程技术网

Iphone 在NSMutableArray中洗牌内容

Iphone 在NSMutableArray中洗牌内容,iphone,objective-c,Iphone,Objective C,可能重复: 我在NSMutableArray中有一些值。现在我需要重新排列这些值。有人能告诉我如何洗牌这些值吗 对不起,我没有任何代码可以演示 我浏览了这篇文章,其中建议使用exchangeObjectAtIndex:withObjectAtIndex:,但有人能告诉我是如何做到的吗。解释这一点的示例或教程会有所帮助。您可以这样做: for (int i = [array count] - 1; i > 0; i--) { int j = arc4random() % (i+1)

可能重复:

我在
NSMutableArray
中有一些值。现在我需要重新排列这些值。有人能告诉我如何洗牌这些值吗

对不起,我没有任何代码可以演示


我浏览了这篇文章,其中建议使用
exchangeObjectAtIndex:withObjectAtIndex:
,但有人能告诉我是如何做到的吗。解释这一点的示例或教程会有所帮助。

您可以这样做:

for (int i = [array count] - 1; i > 0; i--) {
    int j = arc4random() % (i+1);
    [array exchangeObjectAtIndex:i withObjectAtIndex:j];
}

数组是你的
NSMutableArray

你为什么不看看这个问题的其他答案??提供完整的解决方案。要进行良好的洗牌,您不希望使用
array count
进行修改,而是使用
i
进行修改。瞧。@SSteve你是对的!谢谢,我更新了答案。