J'essaie de générer un numéro unique pour une application de bingo, maintenant il choisit 90 numéros aléatoires entre 1-90 et les ajoute à un NSMutableSet. Tout cela fonctionne, mais je fais en sorte que le nombre choisi dans le décor soit unique, donc le même nombre est retiré deux fois.Générer un numéro unique
Voici ce que j'ai jusqu'à présent:
NSMutableSet * numberSet1 = [NSMutableSet setWithCapacity:90];
while ([numberSet1 count] < 90) {
NSNumber * randomNumber1 = [NSNumber numberWithInt:(arc4random() % 90 + 1)];
[numberSet1 addObject:randomNumber1];
}
//NSLog(@"numberWithSet : %@ \n\n",numberSet1);
NSArray * numbers = [numberSet1 allObjects];
//to display
int r = arc4random() % [numbers count];
if(r<[numbers count]){
numberLabel.text = [NSString stringWithFormat:@"%@", [numbers objectAtIndex:r]];
}
Comment puis-je arrêter de me donner des doublons? Merci à l'avance
Quelle est la question? –
Le code semble créer un tableau avec les numéros 1-90 dans un ordre aléatoire sans doublons. Que voulez-vous faire et que fait-il réellement? – rmaddy
@rmaddy il me donne des numéros en double lorsque j'essaie d'afficher les nombres dans une étiquette, j'utilise ce qui suit pour afficher int r = arc4random()% [nombre compte]; si (r <[nombre compte]) { numberLabel.text = [NSString stringWithFormat: @ "% @", [nombre objetAtIndex: r]]; } –