Home > DeveloperSection > Forums > One Array - Multiple sections – NSIndexPath
Tarun Kumar

Total Post:210

Posted on    July-27-2015 6:02 AM

 iPhone iPhone  Ios  Objective C 

 1 Reply(s)
 460  View(s)
Rate this:

I have one big array with many values. I've sorted out the sections but I can't seem to get the indexpath right.

Basically, what I'm trying to do, is that if the previous section has 50 rows, the next indexpath.row should be 51->. The one after that should be 60-> and so fourth.

NSLog(@"current indexpath.row: %ld",(long)indexPath.row);

NSLog(@"current section: %ld",(long)indexPath.section);

for (int i = indexPath.section; i == indexPath.section; i++) {

            NSLog(@"number of rows: %ld",(long)[self tableView:tableView

numberOfRowsInSection: indexPath.section]);

            NSLog(@"in section: %ld",(long)indexPath.section);


    if (i++) {

        // add previous number of rows plus current

        int previousRows = [self tableView:tableView numberOfRowsInSection:


        NSLog(@"now indexpath: %ld",(long)previousRows+indexPath.row);




I hope I've made my question clear enough for you to understand.

Jayne Spooner
Jayne Spooner

Total Post:21

Posted on    July-27-2015 7:50 AM

NSIndexPath doesn't work this way. NSIndexPath starts from 0 for every section.


If I understand correctly, you want to know the global index value to access the array. For that case, I have been using this little method:

- (int)getGlobalRowFor:(int)row at:(int)section {

    if(section == 0) {

        return row;

    } else {

        int count = 0;

        for(int i = 0; i < section; i++) {

            // This is where you put your own numbers for section counts.

            // This is my model, yours could be different.

            count += [[[self.sections objectAtIndex:i] objectForKey:@"sectionCount"]



        return count + row;



Modified On Jul-27-2015 07:51:09 AM

Don't want to miss updates? Please click the below button!

Follow MindStick