我有用户已经输入的字符数组。我想从所有字母数字字符、标点字符和符号的组合列表中获取用户尚未输入的随机字符。我已经浏览了文档,但找不到从字符集中获取随机元素的方法,这看起来很奇怪......我觉得我错过了一些明显的东西。
func newRandomCharacter() -> Character {
let validCharacters: CharacterSet = .alphanumerics.union(.punctuationCharacters).union(.symbols)
var setOfUsedCharacters = CharacterSet()
// usedCharacters: [Character]
usedCharacters.forEach { setOfUsedCharacters.insert(charactersIn: String($0)) }
let setOfUnusedCharacters = validCharacters.subtracting(setOfUsedCharacters)
return setOfUnusedCharacters.randomElement() <- ???
}
Run Code Online (Sandbox Code Playgroud)