当前位置:  开发笔记 > IOS > 正文

随机密码生成器Swift 3?

如何解决《随机密码生成器Swift3?》经验,为你挑选了1个好方法。

我正在为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"
}

谢谢!



1> Leo Dabus..:

首先使用允许密码的字符创建一个数组

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..

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有