objective-c - 强制洗牌 NSMutableArray

标签 objective-c ios xcode

我有一个名为 putNumberUsed 的 NSMutableArray。它包含以下对象@"blah1、@"blah2"、@"blah3"、@"blah4"。我想随机打乱这些对象,例如,如果我选择:

 [putNumberUsed objectAtIndex:0] 

除了“blah1”,它会给我任何东西。我该怎么做呢?以下是我到目前为止使用的代码:

NSMutableArray *putNumbersUsed = [[NSMutableArray alloc] arrayWithObjects:@"blah1",@"blah2",@"blah3",@"blah4",nil];

最佳答案

我认为,您可以为此编写一个循环。请检查以下代码,

for (int i = 0; i < putNumberUsed.count; i++) {
    int randomInt1 = arc4random() % [putNumberUsed count];
    int randomInt2 = arc4random() % [putNumberUsed count];
    [putNumberUsed exchangeObjectAtIndex:randomInt1 withObjectAtIndex:randomInt2];
}

我认为这可能对您有用。

关于objective-c - 强制洗牌 NSMutableArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11224014/

相关文章:

objective-c - 使用 ARC 的自定义委托(delegate) iOS 6 不起作用

ios - 如何在每次使用 Xcode 7 UI 测试进行测试后重置应用程序数据?

ios - 使用 Objective C 存储数据最可靠和最快的类型或数据结构是什么?

ios - 在后台快速从服务器更新 SQLITE 数据库

objective-c - UIImage/UIImageView 包含 UIView 缩放时重绘

ios - Xcode 8.2.1/Swift 3 - 从 Plist 字典数组加载 TableView

ios - 将 NSObject(如 AFXAuthToken)转换为 NSData

ios - 没有图像的 UIButton 在 Xcode 7 中不突出显示 - iOS 9.2

iphone - 从 iOS 应用程序的主菜单管理朝九晚五 View 的最佳方式是什么?

xcode - Flutter 生成的 ios 文件版本控制