indexSetWithIndexesInRange не выполняет то, что ожидалось

Я хочу выбрать некоторые объекты из массива. Поэтому я использую начальный и конечный индексы своего выбора.

NSLog(@"start:%d\nend:%d", startIndex, endIndex);
NSIndexSet *myIndexes = [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(startIndex, endIndex)];
NSLog(@"%d", [myIndexes lastIndex]);

Первый NSLog дает мне

startIndex: 49
endIndex: 67

Второй NSLog дает мне

115

Почему у меня 115 как наибольшее число? Оно должно быть 67. Конечно, приложение вылетает:

Завершение работы приложения из-за неперехваченного исключения 'NSRangeException', причина: ' * - [NSArray objectsAtIndexes:]: индекс 115 за пределами [0 .. 96 ] '

Что я делаю не так?

5
задан testing 25 October 2010 в 20:28
поделиться