swift - 使用 Swift 将选择的随机数放在队列的最后?

标签 swift

我对 swift 比较陌生,现在我只是在玩和学习。 我有一个字符串数组,我正在使用 arc4random_uniform 来打印这些文本行。但我似乎无法弄清楚如何排除已选择的内容被重复选择。至少在所有其余的都被挑选出来之前。 我有什么:

let array1 = ["pizza", "carrot", "fish", "monkey", "window"]

let pickOfArray = Int(arc4random_uniform(4))

print (array1[pickOfArray])

最佳答案

创建所选索引的第二个数组并将代码更改为:

  1. 生成随机索引
  2. 检查您的随机索引是否在pickedIndexes数组内
  3. 如果为 false,则继续执行第 4 点,如果为 true,则检查 pickedIndexes.count 是否与 array1 相同,如果是,则重置 pickedIndexed 并继续执行下一个点,否则返回第 1 点
  4. 将您的数字附加到 pickedIndexes 并从 array1 中获取您的值

关于swift - 使用 Swift 将选择的随机数放在队列的最后?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45101014/

相关文章:

swift - Swift 的 for-in 循环是如何工作的?

swift - 为 ARKit(不是 QLPreview)加载 USDZ Material 属性

ios - libc++abi.dylib : terminating with uncaught exception of type NSException (CollectionView)

swift - 使用 UIPanrecognizer 的自定义 View 无意中锁定了 UITableViewController

ios - 如何通过在 swift 中实现观察者从 Firebase 实时数据库中获取嵌套数据

ios - 顶部带有 UIViews 的滚动 Collection View ?

ios - UITableView 的大小在不同的屏幕尺寸上表现得很奇怪

swift - 使用 NSUserDefaults 在 ViewController 之间传递数据

swift - NSTableView 行内鼠标按下的正确行为?

swift - 枚举 : "cannot be constructed because it has no accessible initializers"