Wie bekomme ich bestimmte Werte aus einer NSIndexPath
Ich habe ein NSArray mit NSIndexPaths darin
NSArray *array = [self.tableView indexPathsForSelectedRows];
for (int i = 0; i < [array count]; i++) {
NSLog(@"%@",[array objectAtIndex:i]);
}
Den NSLog gibt diese:
<NSIndexPath 0x5772fc0> 2 indexes [0, 0]
<NSIndexPath 0x577cfa0> 2 indexes [0, 1]
<NSIndexPath 0x577dfa0> 2 indexes [0, 2]
Ich versuche den zweiten Wert aus der indexPath in nur einem einfachen NSInteger
- Ist das wirklich dein code? Verwenden Sie eine benutzerdefinierte Tabelle anzeigen Unterklasse? Ich glaube nicht, dass es eine Methode namens
indexPathsForSelectedRows
. Man kann auch nicht nur weisen Sie eineNSIndexPath
Instanz zu einerNSArray
Zeiger. - Apple hat undokumentierte Methoden für die multiselektion in einer UITableView(wie der mail-app), die ist, wo indexPathsForSelectedRows kommt aus
- Wie von iOS 5-dieser code ist 100% app store sicher! (nicht, dass ich Pflege, ich bin die Hölle, post-SDK)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie
NSIndexPath
's-indexAtPosition:
Methode, um die last index:In Ihrem Fall, können Sie den folgenden (als Josh erwähnt in seinem Kommentar, ich nehme an, Sie arbeiten mit einer benutzerdefinierten Unterklasse
UITableView
, weil Sie es nicht haben, dass spezifischen Methode (-indexPathsForSelectedRows:
)):Wird, drucken Sie
0, 1, 2, ...
.path.row
um den Wert in dem index