On occasion we need to create an NSIndexPath manually, with components we specify (such as a row or a section). There’s a method for that: indexPath:forItem:inSection.
Here’s how you create an indexPath for row 0, section 0:
1 2 |
NSIndexPath *indexPath = [[NSIndexPath alloc]init]; indexPath = [NSIndexPath indexPathForItem:0 inSection:0]; |
The method takes two integers. You can even take an existing indexPath, then add or subtract values to the new indexPath, like so:
1 2 3 4 5 6 |
// current indexPath NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow]; // make a new indexPath and add 1 to the row of the previous one NSIndexPath *indexPath2 = [[NSIndexPath alloc]init]; indexPath2 = [NSIndexPath indexPathForItem:(indexPath.row + 1) inSection:indexPath.section]; |