我試圖在Xcode 5中創建一個NSMutableArray,我隨機生成1和12之間的數字並將它們存儲爲整數。問題有時會產生兩次相同的數字,這是不可取的。NSMutableArray存儲int無重複
//Load array
NSMutableArray *theSequence = [[NSMutableArray alloc] init];
//Generate the Sequence
for (NSInteger i=0; i < difficultyLevel; i++) {
int r = arc4random()%12 + 1;
//Check here if duplicate exists
[theSequence addObject:[NSNumber numberWithInteger:r]];
}
其中difficultyLevel當前爲4,因爲應該有4個整數存儲。
我已經嘗試了其他堆棧溢出沒有成功的答案,任何人都可以定製[theSequence addObject:..]之前的某種循環,以便當我在標籤中顯示數字他們是獨特的?先謝謝你!
哈利
只是FYI,你用'arc4random()%12'引入了[modulo bias](http://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle#Modulo_bias)。 'arc4random_uniform(12)'是一個更好的選擇。見[這裏](https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man3/arc4random_uniform.3.html)。 – Manny