How does one generate a random number in Apple's Swift language?

后端 未结 25 1893
有刺的猬
有刺的猬 2020-11-22 09:51

I realize the Swift book provided an implementation of a random number generator. Is the best practice to copy and paste this implementation in one\'s own program? Or is t

25条回答
  •  醉梦人生
    2020-11-22 10:28

    Here is a library that does the job well https://github.com/thellimist/SwiftRandom

    public extension Int {
        /// SwiftRandom extension
        public static func random(lower: Int = 0, _ upper: Int = 100) -> Int {
            return lower + Int(arc4random_uniform(UInt32(upper - lower + 1)))
        }
    }
    
    public extension Double {
        /// SwiftRandom extension
        public static func random(lower: Double = 0, _ upper: Double = 100) -> Double {
            return (Double(arc4random()) / 0xFFFFFFFF) * (upper - lower) + lower
        }
    }
    
    public extension Float {
        /// SwiftRandom extension
        public static func random(lower: Float = 0, _ upper: Float = 100) -> Float {
            return (Float(arc4random()) / 0xFFFFFFFF) * (upper - lower) + lower
        }
    }
    
    public extension CGFloat {
        /// SwiftRandom extension
        public static func random(lower: CGFloat = 0, _ upper: CGFloat = 1) -> CGFloat {
            return CGFloat(Float(arc4random()) / Float(UINT32_MAX)) * (upper - lower) + lower
        }
    }
    

提交回复
热议问题