如何在 Objective-C 中播种随机生成器并创建随机整数 [英] How do I seed the random generator and create a random int in Objective-C

查看:51
本文介绍了如何在 Objective-C 中播种随机生成器并创建随机整数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Objective-C中看到了一些随机整数的例子,但是每次应用程序运行时,所有人都在抱怨相同的数字序列.我已经阅读了关于播种随机数的内容,但我不确定这意味着什么.

I have seen some examples of the random int in Objective-C, but all people are complaining about the same number sequence every time the application runs. I have read about seeding the random number, but I am not sure what that even means.

如何每次生成不同的随机数,即使在应用程序重新启动后?

How can a random number be generated differently every time, even after application has relaunched?

是否可以将一些数据存储在 NSUserDefaults 中,然后根据它生成不同的值?

Could some data be stored in NSUserDefaults and then, depending on that, different values get generated?

推荐答案

这里有一个 在 Apple 开发者论坛上的讨论.

使用 arc4random() 代替随机()或 rand().它使用/dev/urandom 并生成更好的伪随机数.rand() 和random() 基本上是坏的随机数字生成器.

Use arc4random() instead of either random() or rand(). It used /dev/urandom and generates much better pseudo-random numbers. Both rand() and random() are basically bad random number generators.

参见:man arc4random

See: man arc4random

#include <stdlib.h>
picknumber = arc4random() % 3 + 1; 

这篇关于如何在 Objective-C 中播种随机生成器并创建随机整数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆