Я с @LolaRun - мы дети из Какао, мы не хотим перераспределения. Итак, попробуйте что-то вроде этого:
NSUInteger newIndexes[] = {0,1};
NSUInteger len = sizeof(newIndexes)/sizeof(NSUInteger); //sorry!
NSIndexPath *baseIndexPath = [NSIndexPath indexPathWithIndexes:newIndexes
length:len];
NSUInteger i;
for (i=0; i<10; i++) {
NSIndexPath *newIndexPath = [baseIndexPath indexPathByAddingIndex:i];
NSLog(@"newIndexPath = %@", newIndexPath);
}
Или вы можете увеличить существующий indexPath (первая строка создает indexPath с массивом newIndexes из приведенного выше примера):
NSIndexPath *someIndexPath = [NSIndexPath indexPathWithIndexes:newIndexes
length:len];
NSUInteger newIndexes2[[someIndexPath length]];
[someIndexPath getIndexes:newIndexes2];
NSUInteger len2 = sizeof(newIndexes2)/sizeof(NSUInteger);
NSIndexPath *baseIndexPath2 = [NSIndexPath indexPathWithIndexes:newIndexes2
length:len2];
NSUInteger ii;
NSInteger start = [someIndexPath indexAtPosition:[someIndexPath length] -1];
for (ii=start; ii<10; ii++) {
NSIndexPath *newIndexPath2 = [baseIndexPath2 indexPathByAddingIndex:ii];
NSLog(@"newIndexPath2 = %@", newIndexPath2);
}
Обратите внимание, что в первом примере будут созданы дочерние элементы исходного пути 0.1, а во втором - братья и сестры. Смешайте и сравните, как вам нравится.