У меня есть стек UITableViews, управляемый UINavigationController. Когда я пытаюсь вызов indexPathForSelectedRow по любому из предыдущих UITableViews, я всегда получаю ноль:indexPathForSelectedRow в предыдущих UITableViews всегда возвращает nil?
NSEnumerator *e = [[navigationController viewControllers] objectEnumerator];
UITableViewController *controller;
while (controller = [e nextObject]) {
NSIndexPath *selectedIndexPath = [[controller tableView] indexPathForSelectedRow]; // always nil
// ...
}
Я не могу найти ничего об этом поведении в документации компании Apple; это намеренно? Если да, есть ли другой способ сделать то, что я пытаюсь сделать, без необходимости прибегать к ручному управлению избыточной переменной экземпляра mySelectedIndexPath внутри didSelectRowAtIndexPath или somesuch?
Это должно сработать. Может быть, navigationController не ссылается на правильный объект. Как вы получаете navigationContoller в представлениях, которые вы нажимаете на стек? – VoidPointer