AppDelegate에서 내비게이션 컨트롤러에 전화하는 것처럼 들리는군요. AppDelegate가 네비게이션 컨트롤러 (서브 클래스가 UIViewController
일 필요가 있습니다)와 함께 작동하도록 특별히 설정하지 않은 경우 AppDelegate 클래스에 탐색 컨트롤러가 없기 때문에 오류가 발생합니다 (기본적으로). 따라서 전화를 걸면 탐색 컨트롤러를 찾을 수 없습니다. AppDelegate에이 UIResponder
의 서브 클래스가 아닌 UIViewController
얼마나주의 대신
@interface AppDelegate : UIResponder <UIApplicationDelegate>
, 생성 및/또는 UIViewController
서브 클래스로 탐색 컨트롤러를 연결 - 당신이 당신의 서브 클래스에서이 같은 전화를 걸 수 있습니다
[self.navigationController popToViewController:vc animated:YES];
을
탐색 컨트롤러를 만들고 설정하려면 다음 단계를 수행하십시오 (스토리 보드를 사용하지 않는 경우 다를 수 있음).
- 새
UINavigationController
Obj-C 하위 클래스를 만듭니다. Xcode 메뉴 모음에서 File > New
을 선택하거나 CMD + 을 누릅니다. 클래스의 이름을 지정하고 수퍼 클래스를 UINavigationController
으로 설정하십시오.
완전히 새로운 클래스가 필요하지는 않습니다. 속성을 사용할 수있는 한 UIViewController
의 하위 클래스 인 기존 클래스를 사용할 수 있습니다.
- Xcode의 개체 라이브러리에서 내비게이션 컨트롤러를 추가하고 필요한 방식으로 설정하십시오.
- 스토리 보드에서 NavigationController를 선택한 다음 유틸리티 패널을 열고 ID 검사기 탭을 선택하십시오. 당신의
UIViewController
또는 UINavigationController
서브 클래스의 이름으로 Custom Class
이름을 설정 : 클래스에서
- 을 당신이보기 컨트롤러에 관련된 다른 사람의 수백 중의
navigationController
속성을 사용할 수 있습니다. AppDelegate는 실제로 앱을 설정하고 앱 이벤트를 처리하기위한 장소 (예 : 앱 닫기, 앱 배경 설정, 앱 열기)임을 기억하십시오.
내비게이션 컨트롤러가 어떻게 설정되고 있습니까 (탭 표시 줄 제외)? AppDelegate에서 생성되고 있습니까? 그 클래스를 AppDelegate로 설정 했습니까? –
앱 대행자에서 설정되지 않았습니다. 방금 잃어버린 메신저 : P –