dimanche 18 septembre 2016

Strange return value after generating random string (Swift 3)

I've created a method which generates and returns a random string of both letters and numbers, but for some reason I only get a string with numbers and the length of the string doesn't come close to what I asked it to be. A few examples of strings that have been returned: "478388299949939566" (inserted 18 as the length), "3772919388584334" (inserted 9 as the length), "2293010089409293945" (inserted 6 as the length). Anyone can see what I'm missing here?

func generateRandomStringWithLength(length:Int) -> String {

    let randomString:NSMutableString = NSMutableString(capacity: length)

    let letters:NSMutableString = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"

    for index in 0...length {

        let randomIndex:Int = Int(arc4random_uniform(UInt32(62)))
        randomString.append("\(letters.character(at: randomIndex))")

    }

    return String(randomString)
}




Aucun commentaire:

Enregistrer un commentaire