저는 UITableView가 있고 사용자가 행을 클릭 할 때마다 (NSLog를 사용하여 확인한) 호출 된 didSelectRowAtIndexPath를 설정했습니다.pushViewController는 UITableView의 didSelectRowAtIndexPath에서 아무 것도하지 않습니다.
그러나 동일한보기를 다시로드하고 다른 데이터를 변경하려고합니다. 예를 들어, 원격 웹 서버에 디렉토리 내용을 표시하고 사용자가 행을 클릭하자마자보기를 다시로드하고 선택한 디렉토리 (행)의 내용을 표시하려고합니다.
이 코드를 사용하고 있습니다 :
FirstViewController *fvController = [[FirstViewController alloc] initWithNibName:@"MainWindow" bundle:[NSBundle mainBundle]];
fvController.currentDirectory = currentDirectory;
[self.navigationController pushViewController:fvController animated:YES];
[fvController release];
fvController = nil;
그러나, 그것은 아무것도하지 않고 프로그램이 실행 유지합니다. IB에 연결이 누락되었다고 가정합니까?
Rob, 귀하의 의견과 추가 조언을 해주셔서 대단히 감사합니다. self.navigationController를 검사했지만 nil이 아니며 (이는 UINavigationController 유형 임) IB에서 올바르게 알고 있습니다. 그래도 행을 클릭해도 아무런 변화가 없습니다. 다른 디버그 팁? –
간단히 말해, pushViewController가 호출되는지 확인하려면 어떻게해야합니까? –
pushViewController 행에 중단 점을 설정하여 실행 중인지 확인 했습니까? 대상이 nil이 아니고 행이 실행되면 pushViewController가 호출됩니다. 두 번째로 가장 가능성있는 문제는 (navcontroller가 없으면) 전체 코드 블록이 실행되고 있지 않다는 것입니다. –