그래서 누군가가 UINavigationControler의 뒤로 버튼을 건 드리면 데이터 소스를 업데이트하기 위해 일부 코드를 실행하고 싶습니다.UINavigationController intercepting - popViewControllerAnimated :
문제는 제가 할 수없는 일은 올바른 대리인을 찾는 것입니다. 이들 만 nav 컨트롤러 대리자에서 사용할 수 있으며 'didfinishshowing'형식 메서드가 필요합니다.
– navigationController:willShowViewController:animated: optional method
– navigationController:didShowViewController:animated: optional method
내가 생각한 다음 최고의 장소는 탐색 바 였지만 그 때 시도해 보았습니다. 때문에 캐치되지 않는 예외 'NSInternalInconsistencyException', 이유는 응용 프로그램 종료
: '수동 UINavigationBar에 대리자를 설정할 수 없습니다 돈 당신으로,이 후 향적으로 의미가
컨트롤러에 의해 관리 어떤 해커가 nav 컨트롤러의 내부를 어지럽히고 작동을 멈추고 싶습니다.
이 문제는 공통적으로 발생해야하며 간단합니다.
이 솔루션은 아니지만 UINavigationController가 스토리 보드에서 인스턴스화되면 NSInternalInconsistencyException을 얻지 못한다는 사실을 발견했습니다. – hyperspasm
또한 UINavigationController에 사용자 지정 UINavigationBar 하위 클래스를 만들 수도 있습니다 (예 :UINavigationBar 서브 클래스에서'- (UINavigationItem *) popNavigationItemAnimated : (BOOL) animated'를 오버라이드 (override)합니다. – hyperspasm