What is the easiest way to generate random integers within a range in Swift?

后端 未结 3 2125
离开以前
离开以前 2020-12-15 06:09

The method I\'ve devised so far is this:

func randRange (lower : Int , upper : Int) -> Int {
    let difference = upper - lower
    return Int(Float(rand(         


        
3条回答
  •  遥遥无期
    2020-12-15 06:26

    If you are into extensions:

    extension CountableClosedRange where Bound == Int {
        var randomValue: Int {
            return lowerBound + Int(arc4random_uniform(UInt32(upperBound - lowerBound)))
        }
    }
    
    extension CountableRange where Bound == Int {
        var randomValue: Int {
            return lowerBound + Int(arc4random_uniform(UInt32(upperBound - lowerBound)))
        }
    }
    
    (0...6).randomValue
    (0..<7).randomValue
    

提交回复
热议问题