Impedir NSRangeException no subarrayWithRange
Eu tenho esse código que me permite transmitir um índice e recuperar seletivamente um número de imagens em uma matriz para um determinado comprimento de intervalo - dependendo da orientação.
Quando em retrato, o intervalo deve ser de 20 itens por índice, e eu tenho 43 itens no total. No entanto, quando passo no último índice, recebo uma exceção fora do intervalo do índice 59 além dos limites de [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;
Como posso evitar isso?
Obrigado.