Ios 如何检查NSMutableArray中是否已存在值?
我正在生成随机数并将其添加到数组中。但我不想有重复的。如何检查数组中是否已经存在该值?谢谢大家!Ios 如何检查NSMutableArray中是否已存在值?,ios,objective-c,Ios,Objective C,我正在生成随机数并将其添加到数组中。但我不想有重复的。如何检查数组中是否已经存在该值?谢谢大家! int lowerBound = 0; int long upperBound = numberOfQuestions; int randomQuestionNumber = lowerBound + arc4random() % (upperBound - lowerBound); [_randomQuestionNumberArray addObject:[NSDecimalNumber num
int lowerBound = 0;
int long upperBound = numberOfQuestions;
int randomQuestionNumber = lowerBound + arc4random() % (upperBound - lowerBound);
[_randomQuestionNumberArray addObject:[NSDecimalNumber numberWithInt:randomQuestionNumber]];
听起来像是
NSMutableOrderedSet的完美用例
如果排序不重要,那么NSMutableSet
是您的最佳选择
您还应该使用
arc4random\u uniform
而不是arc4random%
来减少模偏差您可以使用
BOOl isFound = [_randomQuestionNumberArray containsObject:object];
最常见的方法是用所有可能的值填充数组,然后洗牌数组。看
int lowerBound = 0;
int long upperBound = numberOfQuestions;
int randomQuestionNumber = lowerBound + arc4random() % (upperBound - lowerBound);
NSDecimalNumber *currentNumber = [NSDecimalNumber numberWithInt:randomQuestionNumber];
if (![_randomQuestionNumberArray containsObject:num]) {
[_randomQuestionNumberArray addObject:num];
}