How do I get specific values from a NSIndexPath
13,518
You can use NSIndexPath
's -indexAtPosition:
method to get the last index:
NSIndexPath *path = ...; // Initialize the path.
NSUInteger lastIndex = [path indexAtPosition:[path length] - 1]; // Gets you the '2' in [0, 2]
In your case, you can use the following (as Josh mentioned in his comment, I'm assuming you're working with a custom subclass of UITableView
, because it doesn't have that specific method (-indexPathsForSelectedRows:
)):
NSArray *indexes = [self.tableView indexPathsForSelectedRows];
for (NSIndexPath *path in indexes) {
NSUInteger index = [path indexAtPosition:[path length] - 1];
NSLog(@"%lu", index);
}
That will print out 0, 1, 2, ...
.
Author by
Heli0s
Updated on June 04, 2022Comments
-
Heli0s about 2 years
I have a NSArray with NSIndexPaths inside of it
NSArray *array = [self.tableView indexPathsForSelectedRows]; for (int i = 0; i < [array count]; i++) { NSLog(@"%@",[array objectAtIndex:i]); }
The NSLog returns this:
<NSIndexPath 0x5772fc0> 2 indexes [0, 0] <NSIndexPath 0x577cfa0> 2 indexes [0, 1] <NSIndexPath 0x577dfa0> 2 indexes [0, 2]
I am trying to get the second value from the indexPath into just a plain NSInteger
-
netwire almost 10 yearsYou can also do
path.row
to get the value at the index