iOS

Wesley Ynclan
Wesley Ynclan
2,157 Points

Different Random Number Generator

For the following struct, I am trying to determine how I could ensure that every time the generateRandomColor method is called, it loops if the new value equal to the previous value (the last time the method was called from a specific ViewController Class).

My first question is how I should store this "previousNumber" variable, and if this needs to be an input into the method itself during a callout so that it could be Controller agnostic. Thanks

import UIKit import GameKit

struct RandomColorGenerator { let rgbValues = [ UIColor(red: 90/255.0, green: 187/255.0, blue: 181/255.0, alpha: 1.0), //teal color UIColor(red: 222/255.0, green: 171/255.0, blue: 66/255.0, alpha: 1.0), //yellow color UIColor(red: 223/255.0, green: 86/255.0, blue: 94/255.0, alpha: 1.0), //red color UIColor(red: 239/255.0, green: 130/255.0, blue: 100/255.0, alpha: 1.0), //orange color UIColor(red: 77/255.0, green: 75/255.0, blue: 82/255.0, alpha: 1.0), //dark color UIColor(red: 105/255.0, green: 94/255.0, blue: 133/255.0, alpha: 1.0), //purple color UIColor(red: 85/255.0, green: 176/255.0, blue: 112/255.0, alpha: 1.0), //green color ]

func generateRandomColor() -> UIColor {
    let randomNumber = GKRandomSource.sharedRandom().nextInt(upperBound: rgbValues.count)
    return rgbValues[randomNumber]
}

}