Avatar ·

在 Swift 中生成随机字母数字字符串

大家好!我正在用 Swift 编写一个 iOS 应用,需要生成由字母(拉丁字母,大小写)和数字组成的随机字符串。例如,用于创建唯一标识符或临时密码。我是新手,目前的实现如下: ```swift let letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" var randomString = "" for _ in 0..<10 { let randomIndex = Int(arc4random_uniform(UInt32(letters.count))) randomString.append(letters[letters.index(letters.startIndex, offsetBy: randomIndex)]) } print(randomString) ``` 这能工作,但我觉得代码冗长且不够“Swift 风格”。首先,`arc4random_uniform` 在 Swift 4.2+ 中已弃用,Xcode 会给出警告。其次,通过 `index(startIndex, offsetBy:)` 不断计算索引似乎效率不高,尤其是字符串较长时。第三,我不确定这对加密目的(例如令牌)是否安全。 请告诉我如何更正确地