Что такое простой способ разбить 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.. 
  • Как отключить горизонтальную прокрутку UIScrollView?
  • фильтрация NSArray в новый NSArray в объективе-c
  • Как перехватить ссылку на ссылку в UITextView?
  • Можно ли изменить цвет фона UIButtons?
  • Множественное перечисление значений в Obj-C
  • Как распределить приложение ios без проводов без управления UDID и перекомпиляции
  • Прокрутка двумя пальцами с помощью UIScrollView
  • Держите iphone активным во время запуска программы
  • Могу ли я передать блок как @selector с Objective-C?
  • Когда вы делаете подчеркивание перед переменной экземпляра?
  • Почему UINavigationBar крадет события касания?
  • Давайте будем гением компьютера.