Ich habe einen Stapel von UITableViews von einem UINavigationController verwaltet. Wenn ich auf einem der vorherigen UITableViews versuchen Aufruf indexPathForSelectedRow, habe ich immer nil:indexPathForSelectedRow auf früheren UITableViews gibt immer Null zurück?
NSEnumerator *e = [[navigationController viewControllers] objectEnumerator];
UITableViewController *controller;
while (controller = [e nextObject]) {
NSIndexPath *selectedIndexPath = [[controller tableView] indexPathForSelectedRow]; // always nil
// ...
}
Ich kann nichts über dieses Verhalten in Apples docs finden; ist es beabsichtigt? Wenn ja, gibt es einen anderen Weg, um das zu tun, was ich zu tun versuche, ohne dass ich manuell auf eine redundante mySelectedIndexPath-Instanzvariable innerhalb von didSelectRowAtIndexPath oder so etwas zurückgreifen muss?
Dies sollte funktionieren. Vielleicht referenziert navigationController nicht das richtige Objekt. Wie bekommen Sie den navigationContoller in die Ansichten, die Sie auf den Stapel schieben? – VoidPointer