先上代碼:
#pragma mark - 亂序排列
- (NSArray *)randomArray {
// 隨機(jī)數(shù)從這里邊產(chǎn)生
NSMutableArray *startArray = [[NSMutableArray alloc] initWithObjects:@0, @1, @2, @3, @4, @5, @6, @7, nil];
// 隨機(jī)數(shù)產(chǎn)生結(jié)果
NSMutableArray *resultArray = [[NSMutableArray alloc] initWithCapacity:0];
// 隨機(jī)數(shù)個(gè)數(shù)
NSInteger count = 8;
for (int i = 0; i < count; i++) {
int t = arc4random()%startArray.count;
resultArray[i] = startArray[t];
startArray[t] = [startArray lastObject]; // 只是亂序偷崩,保證了數(shù)據(jù)不會(huì)重復(fù)
[startArray removeLastObject];
}
return resultArray;
}
初始化resultArray 的時(shí)候建議使用 initWithCapacity 方法,這樣做的好處:初始化使用 initWithCapacity 的作用