Подтвердить что ты не робот

Извлечь диапазон из NSArray

Мне нужно отобразить 6 просмотров, и каждый вид должен отображать 20 элементов (UIButtons). У меня есть один большой NSArray, который содержит элементы для всех 6 представлений.

Например, в представлении 1 должны быть позиции 0-19, представление 2 должно быть в пунктах 20-39.

Как извлечь из массива соответствующий диапазон? Возможно, используя NSRange с длиной 20, но местоположение начала должно измениться для каждого представления... без оператора switch идеально:)

Спасибо

4b9b3361

Ответ 1

 static const NSUInteger ItemsPerView = 20;
 NSUInteger startIndex = viewIndex * ItemsPerView;
 NSUInteger count = MIN( completeArray.count - startIndex, ItemsPerView );
 NSArray *itemsForView = [completeArray subarrayWithRange: NSMakeRange( startIndex, count )];

Ответ 2

Ваш ответ в вашем вопросе. Просто следите за тем, какой NSRange принадлежит к тому представлению и использует его для поиска необходимых объектов в вашем контейнере с помощью метода NSArray -subarrayWithRange:.