У меня есть этот код, который позволяет мне передавать в индекс и выборочно извлекать несколько изображений в массиве для определенной длины диапазона - в зависимости от ориентации.Предотвращение исключения NSRangeException в subarrayWithRange
Если в портрете диапазон должен быть 20 пунктов на индекс, и у меня есть 43 элемента в целом. Однако, когда я передаю последний индекс, я получаю исключение вне диапазона для индекса 59 за пределами [0..42].
NSArray *tempArray = [self imageData];
UIDeviceOrientation devOr = [[UIDevice currentDevice] orientation];
int kItemsPerView;
if (UIDeviceOrientationIsPortrait(devOr)) {
kItemsPerView = 20;
}else {
kItemsPerView = 14;
}
NSRange rangeForView = NSMakeRange(index * kItemsPerView, kItemsPerView);
NSArray *subArray = [[tempArray subarrayWithRange:rangeForView] retain];
NSMutableArray *imagesForView = [NSMutableArray arrayWithArray:subArray];
[subArray release];
return imagesForView;
Как я могу предотвратить это?
Спасибо.