我正在尝试在我的一个应用程序中使用 GKShuffledDistribution,但 nextInt(upperBound:) 方法的工作方式与 nextInt 方法不同,因为它不会耗尽所有可能的值。为了演示,打开一个操场并执行以下操作:
import GameplayKit
let shuffled = GKShuffledDistribution.init(lowestValue: 0, highestValue: 100)
for _ in 0...25{
shuffled.nextInt(upperBound: 100)
}
我使用这种方法得到了 2 个重复项。如果我将其替换为:
shuffled.nextInt()
我没有得到任何重复。这是 nextInt(upperBound:) 应该如何工作的吗?如果是的话,有人可以指出我解释这一点的文档吗?谢谢。