web-dev-qa-db-fra.com

Comment générer des nombres aléatoires sur iOS?

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.

22
user21293

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;
71
newtonapple

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

15
Andy Jacobs

Vous devez semer le générateur de nombres aléatoires avec l'heure actuelle.

srand(time(0));
10
Niyaz

À quel point avez-vous besoin? Si vous voulez assez aléatoire pour Crypto, utilisez SecrandomCopyBytes ().

6
user23743

Call srand() Au début de votre programme, il ressortez un générateur de nombres aléatoires

3
vava

Fonction simple pour la génération de nombres aléatoires:

int r = arc4random() % 42;  // generate number up to 42 (limit)
2
Himanshu padia