我正在为iOS构建随机密码生成器.在其中,按钮生成具有用户选择的特征的随机密码(例如,用于打开或关闭小写和大写字母,字符和符号等的开关).
用户界面看起来很棒,其余的代码工作顺利,但我无法让我的按钮实际生成一个随机的字母数字字符串.我有一个标签,其中包含一些占位符文本("您的密码"),当按下按钮时,它应该将其文本更新为随机字符串,但是我收到编译器错误:"未解析使用标识符'长度'"
这是按钮的当前代码:
@IBAction func generatePassword(_ sender: UIButton) { let randomPasswordArray: NSString = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890" let len = UInt32(randomPasswordArray.length) var randomPassword = "" for _ in 0 ..< length { let rand = arc4random(len) var nextChar = randomPasswordArray.character(at: Int(rand)) randomPassword += NSString(characters: &nextChar, length: 1) as String } passwordLabel.text = "randomPassword" }
谢谢!
首先使用允许密码的字符创建一个数组
let passwordCharacters = Array("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890".characters)
然后选择密码lenght
let len = 8
定义并清空字符串密码
var password = ""
创建一个循环来生成随机字符
for _ in 0..
斯威夫特4
您也可以使用map而不是标准循环:
let pswdChars = Array("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890") let rndPswd = String((0..Swift 4.2
使用新的Collection
randomElement()
方法:let len = 8 let pswdChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890" let rndPswd = String((0..