Перестройте NSArray / MSMutableArray в случайном порядке

Я использую массив NSArray / NSMutable для хранения разных объектов. Как только все объекты будут добавлены, я хочу перестроить их в произвольном порядке. Как мне это сделать?

NSUInteger count = [yourMutableArray count]; for (NSUInteger i = 0; i < count; ++i) { // Select a random element between i and end of array to swap with. int nElements = count - i; int n = (arc4random() % nElements) + i; [yourMutableArray exchangeObjectAtIndex:i withObjectAtIndex:n]; } 
 // the Knuth shuffle for (NSInteger i = array.count-1; i > 0; i--) { [array exchangeObjectAtIndex:i withObjectAtIndex:arc4random_uniform(i+1)]; } 

Ссылка GameplayKit / GameplayKit.h в вашем проекте затем

 #import  

Теперь вы можете использовать свойство shuffledArray.

 NSArray *randomArray = [yourArray shuffledArray]; 
  • Создать случайное число в LESS CSS?
  • Rand ()% 14 генерирует только значения 6 или 13
  • Как создать случайную буквенно-цифровую строку в C ++?
  • Как создать случайный номер int в C #?
  • Создание случайного цвета в Java?
  • Как я могу генерировать случайные буквенно-цифровые строки в C #?
  • Создание случайных чисел без дубликатов
  • Выберите случайное значение из enums?
  • Как создать случайную строку, подходящую для идентификатора сеанса в PostgreSQL?
  • Случайное число между двумя двойными номерами
  • Требует ли std :: mt19937 разминки?
  • Interesting Posts

    Как настроить прокси для современных приложений пользовательского интерфейса (aka Metro) в Windows 8?

    Почему не транслирует пинг-работу?

    Статическое ключевое слово в c #

    Переопределение Object.equals VS Перегрузка

    Как установить флаг безопасности в cookie сессии ASP.NET?

    Переписать URL-адрес с .htaccess для нескольких параметров

    Как я могу применить цветовую схему (файл .el) в emacs?

    Запретить сохранение URL-адресов из определенных доменов в истории Firefox

    Как закрыть окно поиска в Firefox с помощью сочетания клавиш, когда это поле не в фокусе?

    Лучший способ рандомизировать массив с .NET.

    Ограничить параметр шаблона C ++ для подclassа

    Почему scanf должен принимать адрес оператора

    Что означает «возможное преобразование с потерями» и как его исправить?

    ОШИБКА: Ошибка 1005: невозможно создать таблицу (errno: 121)

    Тип массива – правила для назначения / использования в качестве параметра функции

    Давайте будем гением компьютера.