生成随机字母A-Z Swift

时间:2017-01-23 01:12:18

标签: ios random swift3 xcode8

我正在尝试使用swift创建基于图块的文字游戏,我需要随机化显示在图块上的字母(来自A-Z)。我一直在阅读有关不同方法的内容,但我无法使其适用于特定变量。我目前有一个变量定义:

var availableTiles: [Character]!

由于我一直在处理布局和界面,到目前为止我只手动输入字母,以确保它们正确显示:

func randomizeAvailableLetter() {

    availableTiles = ["X", "B", "F", "H", "K", "V"]

}

正如您所看到的,显示在6个图块上的字母只是硬编码,但我需要这些字母是随机的。我会用什么来代替硬编码的部分,以使随机化的字母显示出来?

1 个答案:

答案 0 :(得分:3)

你可以使用类似这样的函数:

func randomizeAvailableLetters(tileArraySize: Int) -> Array<String> {
  let alphabet: [String] = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]
  var availableTiles = [String]()
  for i in 0..<tileArraySize {
    let rand = Int(arc4random_uniform(26))
    availableTiles.append(alphabet[rand])
  }
  return(availableTiles)
}

print(randomizeAvailableLetters(tileArraySize: 6)) //["X", "B", "F", "H", "K", "V"]