Ich verwende GKRandomSource
in einer Struktur, um ein zufälliges inspirierendes Angebot in der Ansicht zurückzugeben. Gibt es eine Möglichkeit, diese Zufallszahl zurückzugeben und den vorherigen Eintrag wegzulassen? Auf diese Weise erhält der Benutzer nicht zweimal hintereinander dasselbe Zitat.Generieren von Zufallszahlen mit GKRandomSource
let inspiration = [
"You are looking rather nice today, as always.",
"Hello gorgeous!",
"You rock, don't ever change!",
"Your hair is looking on fleek today!",
"That smile.",
"Somebody woke up on the right side of bed!"]
func getRandomInspiration() -> String {
let randomNumber = GKRandomSource.sharedRandom().nextIntWithUpperBound(inspiration.count)
return inspiration[randomNumber]
}
am besten eine Kopie des Arrays haben, und jedes Mal, wenn Sie einen zufälligen Index nehmen, können Sie es aus dem Array entfernen, und dann zufällig von 0 auf die neue Arrays Größe – Fonix