Что такое простой способ разбить NSArray с 4000+ объектами в нем на несколько массивов с 30 объектами каждый?

Что такое простой способ разбить NSArray с 4000 объектами в нем на несколько массивов с 30 объектами?

Итак, прямо сейчас у меня есть материал NSArray *, где [stuff count] = 4133.

Я хочу создать новый массив, содержащий массивы из 30 объектов. Что такое хороший способ прокрутки, разбивка * материала на новые массивы с 30 объектами и размещение их внутри большего массива?

Очевидно, что последний массив не будет содержать 30 (он будет содержать остаток), но мне нужно правильно это обработать.

Имеют смысл? Сообщите мне, есть ли эффективный способ сделать это.

Сверху моей головы, что-то вроде (непроверено):

NSMutableArray *arrayOfArrays = [NSMutableArray array]; int itemsRemaining = [stuff count]; int j = 0; while(itemsRemaining) { NSRange range = NSMakeRange(j, MIN(30, itemsRemaining)); NSArray *subarray = [stuff subarrayWithRange:range]; [arrayOfArrays addObject:subarray]; itemsRemaining-=range.length; j+=range.length; } 

MIN(30, i) заботится о последнем массиве, который не обязательно будет содержать 30 элементов.

  NSMutableArray *arrayOfArrays = [NSMutableArray array]; int batchSize = 30; for(int j = 0; j < [stuff count]; j += batchSize) { NSArray *subarray = [stuff subarrayWithRange:NSMakeRange(j, MIN(batchSize, [stuff count] - j))]; [arrayOfArrays addObject:subarray]; } 

Преобразовал ответ @samvermette в SWIFT 3

  var arrayOfArraySlices = [ArraySlice]() // array of array slices var itemsRemaining = orderArray.count var j = 0 while itemsRemaining > 0 { let range = NSRange(location: j, length: min(20, itemsRemaining)); let arraySlice = orderArray[range.location.. 
  • Нарисуйте часть круга
  • Сохранение изображения в plist
  • Поиск расстояния от значения RSSI устройства Bluetooth с низким энергопотреблением
  • Msgstr "wait_fences: не удалось получить ответ: 10004003"?
  • как создать круглую кнопку?
  • Добавление неизвестного количества строк в «Статические ячейки» UITableView
  • Управление несколькими асинхронными соединениями NSURLConnection
  • Данные перезагрузки UITableView
  • Соглашение об именах iPhone ivar
  • Переменные экземпляра для объектов Objective C
  • Воспроизведение музыки в фоновом режиме с помощью AVAudioplayer
  • Давайте будем гением компьютера.