我已经看到这个问题了很多但从未见过真正的具体答案.所以我将在这里发布一个,希望能帮助人们理解为什么在使用随机数生成器时会出现"模数偏差",就像rand()在C++中一样.
如果你有NSMutableArray,你如何随机洗牌?
(我有自己的答案,发布在下面,但我是Cocoa的新手,我很想知道是否有更好的方法.)
更新:正如@Mukesh所述,从iOS 10+和macOS 10.12+开始,有一种-[NSMutableArray shuffledArray]方法可用于改组.有关详细信息,请参阅https://developer.apple.com/documentation/foundation/nsarray/1640855-shuffledarray?language=objc.(但请注意,这会创建一个新数组,而不是将元素移动到位.)
我需要一些应用程序的帮助.我需要为0到15之间的整数创建一个随机数生成器,然后根据创建的数字推送到具有相应数字的视图.这就是我希望它的工作方式
按下按钮 - >随机数生成器给出0到15之间的数字 - >视图推送到另一个已分配随机数生成器给出的数字的视图.
任何人都可以帮我代码吗?谢谢
在iOS上使用Objective-C生成随机数的最佳方法是什么?
如果我(int)((double) rand() / ((double)(RAND_MAX) + (double) 1) * 5.0)用来生成0到4之间的数字,那么每次我在iPhone上启动程序时,它都会生成相同的数字.
我想在Objective-C中生成1-100之间的随机数.每个随机数应该是唯一的,并且与先前生成的随机数不同.
如果我使用dataWithBytes:length:创建一个特定大小的新NSData对象,那么创建输入字节(20 Mb值)随机字符的最有效方法是什么,最好不要从文件中读取数据?我每次都需要一个特定大小的独特缓冲区.
谢谢
在搜索CI中生成随机数的教程时发现了这个主题
当我尝试使用rand()没有参数的函数时,我总是得到0.当我尝试使用rand()带参数的函数时,我总是得到值41.每当我尝试使用arc4random()和random()函数时,我都会收到LNK2019错误.
这就是我所做的:
#include <stdlib.h>
int main()
{
int x;
x = rand(6);
printf("%d", x);
}
Run Code Online (Sandbox Code Playgroud)
这段代码总是生成41.我哪里错了?我正在运行Windows XP SP3并使用VS2010命令提示符作为编译器.
如何在单击按钮时生成随机数,并根据该数字执行不同的操作.
我可能只需要一个1-10的随机数.
-(IBAction)buttonClicked{
"generate the random number"
if(number == 1){
something happens
}
else if(number == 2){
something else happens
}
etc
}
Run Code Online (Sandbox Code Playgroud) 如何找出使用的最低操作系统要求arc4random_uniform()?它是否在BSD中定义?如果是这样,从哪个版本?它可以在任何Mac OS X版本上运行吗?iOS版本怎么样?有没有官方的地方我可以找到这些东西?