viewDidLoad :의 self.navigationController에 액세스하는 UIViewController 하위 클래스가 있습니다. 뷰 스택에있는 위치에 따라 navigationController를 얻거나 nil을 얻습니다.스택 위치에 따라 self.navigationController에 다른 값 (nil 및 non-nil)이 있습니다.
내 스택이 "RootViewController -> MyViewController"인 경우 유효한 포인터를 얻습니다.
내 스택이 "RootViewController -> AnotherViewController -> MyViewController"이면 스택이 없습니다. 두 경우 모두
는 MyViewController 함께 스택으로 푸시되고있다 :[self.navigationController pushViewController:self.myViewController
animated:YES];
난에서 잘 작동 MyViewController 위의 스택에 또 다른의 ViewController를 밀어 할 수 있어야하기 때문에, 나를 붙어있다 첫 번째 경우에는 실패하지만 두 번째 경우에는 분명히 실패합니다.
이것은 본질적으로 문제였습니다. 양날의 검을 삼키고있는 메시지. :) 며칠간 쉬고 돌아와서 이런 문제를 발견하는 것은 놀랍도록 유용합니다. –