Dans votre délégué de l'application:
- (void) applicationDidFinishLaunching:(UIApplication *)application
{
srandom(time(NULL));
// ...
for (int i = 0; i < 100; i++) {
NSLog(@"%d", random());
}
}
La raison pour laquelle cela fonctionne est parce que les générateurs de nombres pseudo-aléatoires ont besoin d'un départ ou graines de valeur. En utilisant l'heure, vous êtes plus susceptible d'obtenir différentes séquences de nombres "aléatoires" à chaque exécution.
Si vous ne spécifiez pas de valeur de départ, la même graine est utilisée à chaque exécution, ce qui donne la même séquence. Ce comportement est généralement indésirable, mais dans certains cas, il est utile de pouvoir générer la même séquence, par exemple, pour tester des algorithmes.
Dans la plupart des cas, vous souhaiterez spécifier une valeur de départ qui sera modifiée entre les exécutions, ce qui correspond à l'heure actuelle.
Cela semble être un double de cette question: http://stackoverflow.com/questions/1436217/generating-random-values-in-iphone –