寻找如何格式化调用以arc4Random()
使用从 -10 到 10 的数字范围。
还是arc4Random()
只生成从 0 到 X?如果是这种情况,我将需要操纵结果,arc4Random()
以便它可能是指定范围内的结果?
寻找如何格式化调用以arc4Random()
使用从 -10 到 10 的数字范围。
还是arc4Random()
只生成从 0 到 X?如果是这种情况,我将需要操纵结果,arc4Random()
以便它可能是指定范围内的结果?
arc4random
返回 a u_int32_t
,它是一个无符号类型。您需要将其转换为有符号类型,然后减去。
我假设您想要一个从 -10 到 +10 的数字(有时您希望同时选择 -10 和 +10)。
如果你的目标是 iOS 4.3 或更高版本,或者 Mac OS X 10.7 或更高版本,你应该使用这个arc4random_uniform
函数:
int myNumber = (int)arc4random_uniform(21) - 10;
如果您的目标是较旧的操作系统,则必须使用arc4random
:
int myNumber = (int)(arc4random() % 21) - 10;