Ios 斯威夫特:arc4andom_uniform()是什么意思

Ios 斯威夫特:arc4andom_uniform()是什么意思,ios,swift,Ios,Swift,这可能是一个蹩脚的问题,我甚至已经回答了。我甚至搜索过这个问题,但无法正确理解。这里发生了什么……请帮助我理解这一点 let size = Double(arc4random_uniform(5)) + 1 for index in 0..<ITEM_COUNT { let y = Double(arc4random_uniform(100)) + 50.0 let size = Double(arc4random_uniform(5)) + 1

这可能是一个蹩脚的问题,我甚至已经回答了。我甚至搜索过这个问题,但无法正确理解。这里发生了什么……请帮助我理解这一点

    let size =  Double(arc4random_uniform(5)) + 1



   for index in 0..<ITEM_COUNT
{
    let y = Double(arc4random_uniform(100)) + 50.0
    let size =  Double(arc4random_uniform(5)) + 1
    entries.append(ChartEntry(x: Double(index) + 0.5, y: y, size: CGFloat(size)))
}
let size=Double(arc4random_uniform(5))+1
对于0中的索引,..
arc4random\u uniform(x)
返回一个介于0和x-1之间的随机值

示例:

  • arc4random\u uniform(2)
    ->随机返回0或1

  • arc4random\u uniform(2)=0
    随机返回true或false

  • arc4random\u uniform(6)+1
    返回一个介于1和6之间的数字(就像掷骰子一样)

有许多原因导致
arc4random\u uniform(5)
返回0到5之间的数字,但主要原因是这是编程中的一项基本功能,其中数字从零开始。从数组返回一个随机值就是一个很有用的例子。例如:

func randomArrayValue(array: [Int]) -> Int {
    let index = arc4random_uniform(array.count)
    return array[index]
}

let arrayOfInt = [10,20,30]
print("Random Int: \(randomArrayValue(array: arrayOfInt))")

//"Random Int: 10"
//"Random Int: 20"
//"Random Int: 30"
对于问题中的这三行代码:

let y = Double(arc4random_uniform(100)) + 50.0
let size =  Double(arc4random_uniform(5)) + 1
entries.append(ChartEntry(x: Double(index) + 0.5, y: y, size: CGFloat(size)))
  • y
    是一个介于50和149之间的随机变量

  • size
    是一个介于1和5之间的随机变量

  • 然后将项目添加到图表上的数组中。添加的值指定x位置(索引)和y位置(随机y值)。大小是一些特定于代码的需求,如果没有看到功能,我们将无法提供帮助


Terminal.app中可能重复的
man arc4random_uniform
,或者查看XCode中的文档?问题是关于“不同的随机性”(有不同的方法来做)或对那段代码的解释?好的,我已经添加了更多的代码,请参考:)
y
将是一个双随机,范围从
50…149
size
1…5
谢谢@LeoDabus