random - Swift 3 (Xcode 8 beta 1) 中种子随机的等价物是什么

标签 random srand swift3

我需要在每次执行应用程序时启动相同的随机数列表。 srand/rand 不再存在。那我该怎么办?

private extension Array {
    private func randomValues(_ seed: UInt32, num: Int) -> [Element] {
        srand (seed)

        var indices = [Int]()
        indices.reserveCapacity(num)
        let range = 0..<self.count
        for _ in 0..<num {
            var random = 0
            repeat {
                random = randomNumberInRange(range)
            } while indices.contains(random)
            indices.append(random)
        }

        return indices.map { self[$0] }
    }

最佳答案

您可以使用 Swift3 中的 srand48(seed)drand48()

关于random - Swift 3 (Xcode 8 beta 1) 中种子随机的等价物是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42236846/

相关文章:

javascript - 随机数提取器得到奇怪的值

c - 使用 srand 插入随机数

C、Cygwin 以及编译 drand 和 srand

ios - 继续不运行

java - 随机生成器每次都给我相同的数字

c++ - wxDev C++ 中的 arc4random

javascript - 在 Javascript 中生成一个介于 2 个值和 2 个小数位之间的随机数

c++ - 初始化 `rand()`的两种方式

sprite-kit - Sprite 套件。从可选更改为强制解包会导致应用程序崩溃

ios - 设置 persistenceStoreDescriptions 会导致不保存 CoreData 对象