这可能是一个蹩脚的问题,甚至已经在SO中回答了。我甚至已经搜索过这个问题,但却无法以正确的方式理解。这里发生了什么...... ??请帮助我理解这一点。
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)))
}
答案 0 :(得分:0)
arc4random_uniform(x)
返回0到x-1之间的随机值
示例:
arc4random_uniform(2)
- &gt;随机返回0或1
arc4random_uniform(2) == 0
随机返回true或false
arc4random_uniform(6) + 1
返回1到6之间的数字(就像掷骰子一样)
arc4random_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值)。大小是一些特定于代码的要求,如果没有看到功能,我们将无法提供帮助。