Search code examples
iosarraysswiftarc4random

Returning first 3 values in a array


I have a array that looks like this:

var myArray = ["1one", "1two", "1three", "1four", "1five", "1six"]

And to get random, I use this:

var originalNames = [String]()

func getRandomName() -> String {
    if (names.count == 0) {
        names = originalNames
    }
    let randomNumber = Int(arc4random_uniform(UInt32(names.count)))
    return names.removeAtIndex(randomNumber)
}

And I use it like this:

self.randomLabel.text = getRandomName()

As you can see, the array contains six different strings. The code that I am currently using, will return add the strings inside the array at random, but I only want to return the first 3 strings randomly. How can I do this?


Solution

  • You can try using

    var originalNames = [String]()
    
    func getRandomName() -> String {
        if (names.count == 0) {
            names = originalNames
        }
        let randomNumber = Int(arc4random_uniform(3))
        return names[randomNumber]
    }
    

    so let randomNumber = Int(arc4random_uniform(3)) this will return random Int value upto 3.