洗牌 NSMutableArray 的最佳方式是通过对数组进行随机排序。这是一种常用的方法,可以在不影响原始数组顺序的情况下,轻松地打乱元素的顺序。以下是一个简单的示例,演示如何使用 Objective-C 中的 arc4random_uniform
函数对 NSMutableArray 进行洗牌:
NSMutableArray *array = [NSMutableArray arrayWithObjects:@"A", @"B", @"C", @"D", nil];
for (NSUInteger i = [array count] - 1; i > 0; i--) {
NSUInteger j = arc4random_uniform((u_int32_t)(i + 1));
[array exchangeObjectAtIndex:i withObjectAtIndex:j];
}
NSLog(@"Shuffled array: %@", array);
在这个示例中,我们首先创建了一个包含四个元素的 NSMutableArray。然后,我们使用一个 for 循环遍历数组的每个元素,并使用 arc4random_uniform
函数生成一个随机索引。最后,我们使用 exchangeObjectAtIndex:withObjectAtIndex:
方法交换两个索引处的元素,从而实现数组的随机排序。
这种方法适用于任何 NSMutableArray 的洗牌需求,无论其大小或内容如何。
领取专属 10元无门槛券
手把手带您无忧上云