我有30个图像的数组。我的要求是每30个图像中每次只能获取20张图像,随机。每次都会获取新的20张图片。
有人能告诉我怎样才能实现这个目标?
我试过了:
randIdx=arc4random()%[FrontsCards count];
但我得到全部30.如何从30个图像阵列中获取20张图像?
答案 0 :(得分:5)
琐碎的方法:mutableCopy
图像数组,从0到20循环,选择一个图像(idx = arc4random_uniform(copiedArray.count);
),然后从重叠数组中删除所选图像。
(不,不要使用arc4random() % array.count
,模数会使随机性消失,这就是arc4random_uniform()
函数的原因。)
答案 1 :(得分:1)
看看不同的改组算法。
答案 2 :(得分:0)
只使用30个图像中的前20个图像并首先检查阵列中是否已呈现任何图像,不会再在阵列中添加。为此你尝试一个只能运行20次的循环。