如何使用Swift在一个范围内(10 … 20)生成一个随机数

在这里,我与另一个问题。

我现在可以为我的项目select一个随机数字,但是..有可能在2个数字之间select一个随机数字。

所以而不是

let number = (arc4random_uniform(100)) 

我想这样的东西:

 let number = (arc4random_uniform(10...20)) 

或类似的东西..? 现在如果我得到一个武器下降,它可以是我的列表中的一切。 这样我可以做到这一点,只有前几个会有一个特定的怪物下降或更高的水平,他们会放弃更好的武器,而不是低水平了。

Xcode 9•Swift 4

 extension CountableRange where Bound == Int { var random: Int { return lowerBound + Int(arc4random_uniform(UInt32(count))) } func random(_ n: Int) -> [Int] { return (0..<n).map { _ in random } } } extension CountableClosedRange where Bound == Int { var random: Int { return lowerBound + Int(arc4random_uniform(UInt32(count))) } func random(_ n: Int) -> [Int] { return (0..<n).map { _ in random } } } 

Xcode 8.3.2•Swift 3.1

 extension CountableRange where Bound: Strideable, Bound == Int { var random: Int { return lowerBound + Int(arc4random_uniform(UInt32(count))) } func random(_ n: Int) -> [Int] { return (0..<n).map { _ in random } } } extension CountableClosedRange where Bound: Strideable, Bound == Int { var random: Int { return lowerBound + Int(arc4random_uniform(UInt32(count))) } func random(_ n: Int) -> [Int] { return (0..<n).map { _ in random } } } 

用法:

 (10...20).random // 16 (0...1).random(10) // [0, 1, 0, 0, 1, 1, 1, 1, 1, 0]