iOS: How do I generate 8 unique random integers?

前端 未结 6 1002
天命终不由人
天命终不由人 2020-12-03 15:10

I need to generate 8 random integers, but they need to be unique, aka not repeated.

For example, I want 8 numbers within the range 1 to 8.

I\'ve seen arc4ran

6条回答
  •  轻奢々
    轻奢々 (楼主)
    2020-12-03 16:00

    Try this code...this will give you all the possible unique number set in Mutable array...

    -(NSInteger) randomNumber {
    NSInteger newRandomNumber = (NSInteger) arc4random() % 10;
    NSInteger uniqueNumber;
    if ([self.arrayContainingNumbers containsObject: [NSNumber numberWithInteger:newRandomNumber]]) {
        [self randomNumber];
        } else {
        [self.arrayContainingNumbers addObject: [NSNumber numberWithInteger:newRandomNumber]];
    }
    uniqueNumber = [[self.mutableArrayContainingNumbers lastObject]integerValue];
         NSLog(@"new Unique Number is %ld",(long)uniqueNumber);
    
    return uniqueNumber;  
    }
    

    Don't forget to add this method :)

        -(NSMutableArray *) arrayContainingNumbers {
    if (!_mutableArrayContainingNumbers) {
        _mutableArrayContainingNumbers = [[NSMutableArray alloc] init];
    }
    return _mutableArrayContainingNumbers; 
    }
    

提交回复
热议问题