arc4Random() - 生成数字“10后跳”

时间:2014-09-15 13:55:19

标签: ios objective-c xcode random arc4random

我不确定如何格式化arc4Random()以生成200到300之间的随机数。我想要200,210,220等数字..(不是200,201,202,.. 。) (Xcode 5.1.1,iOS)

有什么想法吗?

我的代码:

self.currentObstacX += arc4random()%(200+10) + 300;

......但看起来我的工作方式并不合适。

提前谢谢。

2 个答案:

答案 0 :(得分:2)

@PaulR答案会有效,但最好这样使用arc4random_uniform ......

NSInteger number = 10 * arc4random_uniform(11) + 200;

来自文档...

  建议使用arc4random_uniform()作为结构   ``arc4random()%upper_bound''因为它避免了        "模偏差"当上限不是2的幂时。

答案 1 :(得分:1)

试试这个:

int x = 10 * (arc4random() % 11) + 200; // x = 10 * (0..10) + 200