Quelle est la meilleure façon de générer des nombres aléatoires à l'aide de l'objectif-c sur iOS?
Si j'utilise (int)((double) Rand() / ((double)(Rand_MAX) + (double) 1) * 5.0)
Pour générer un numéro de 0 à 4, chaque fois que je démarre le programme sur l'iPhone, il génère les mêmes numéros pour commencer.
Il y a une question très similaire ici sur Stackoverflow . Voici l'une des meilleures solutions (pas besoin d'ensemencement):
int r = arc4random() % 5;
j'utilise
#define RANDOM_SEED() srandom(time(NULL))
#define RANDOM_INT(__MIN__, __MAX__) ((__MIN__) + random() % ((__MAX__+1) - (__MIN__)))
donc, vous pouvez donner un min et max
Vous devez semer le générateur de nombres aléatoires avec l'heure actuelle.
srand(time(0));
À quel point avez-vous besoin? Si vous voulez assez aléatoire pour Crypto, utilisez SecrandomCopyBytes ().
Call srand()
Au début de votre programme, il ressortez un générateur de nombres aléatoires
Fonction simple pour la génération de nombres aléatoires:
int r = arc4random() % 42; // generate number up to 42 (limit)