2013-07-25 5 views
0

이 질문에 대한 두 가지 질문이 있습니다. 첫째, 네비게이션 컨트롤러를 스토리 보드에 성공적으로 넣고 탭과 연결되어 있고 원하는 방식으로 작동하고 있습니다. 한가지를 제외하고. 오류가 재산권 '있는 navigationController'유형의 객체를 찾을 수 없습니다 나는 그런이
[self.navigationController popToViewController:vc animated:YES] 같은 코드를 추가 할 때 내가 얻을 'AppDelegate에 *'탭 표시 줄 응용 프로그램에 탐색 컨트롤러 추가

이 내가 잘못된 장소에 넣어 때문에인가? 또는 그 tabbar 응용 프로그램과 뭔가가 옳은 것이기 때문에.

+0

내비게이션 컨트롤러가 어떻게 설정되고 있습니까 (탭 표시 줄 제외)? AppDelegate에서 생성되고 있습니까? 그 클래스를 AppDelegate로 설정 했습니까? –

+0

앱 대행자에서 설정되지 않았습니다. 방금 잃어버린 메신저 : P –

답변

1

AppDelegate에서 내비게이션 컨트롤러에 전화하는 것처럼 들리는군요. AppDelegate가 네비게이션 컨트롤러 (서브 클래스가 UIViewController 일 필요가 있습니다)와 함께 작동하도록 특별히 설정하지 않은 경우 AppDelegate 클래스에 탐색 컨트롤러가 없기 때문에 오류가 발생합니다 (기본적으로). 따라서 전화를 걸면 탐색 컨트롤러를 찾을 수 없습니다. AppDelegate에이 UIResponder의 서브 클래스가 아닌 UIViewController 얼마나주의 대신

@interface AppDelegate : UIResponder <UIApplicationDelegate> 

, 생성 및/또는 UIViewController 서브 클래스로 탐색 컨트롤러를 연결 - 당신이 당신의 서브 클래스에서이 같은 전화를 걸 수 있습니다

[self.navigationController popToViewController:vc animated:YES]; 

탐색 컨트롤러를 만들고 설정하려면 다음 단계를 수행하십시오 (스토리 보드를 사용하지 않는 경우 다를 수 있음).

  1. UINavigationController Obj-C 하위 클래스를 만듭니다. Xcode 메뉴 모음에서 File > New을 선택하거나 CMD + 을 누릅니다. 클래스의 이름을 지정하고 수퍼 클래스를 UINavigationController으로 설정하십시오. Adding a UINavigationController Subclass
    완전히 새로운 클래스가 필요하지는 않습니다. 속성을 사용할 수있는 한 UIViewController의 하위 클래스 인 기존 클래스를 사용할 수 있습니다.
  2. Xcode의 개체 라이브러리에서 내비게이션 컨트롤러를 추가하고 필요한 방식으로 설정하십시오.
  3. 스토리 보드에서 NavigationController를 선택한 다음 유틸리티 패널을 열고 ID 검사기 탭을 선택하십시오. 당신의 UIViewController 또는 UINavigationController 서브 클래스의 이름으로 Custom Class 이름을 설정 : 클래스에서 Navigation Controller Custom Class Xcode 4.6
  4. 을 당신이보기 컨트롤러에 관련된 다른 사람의 수백 중의 navigationController 속성을 사용할 수 있습니다. AppDelegate는 실제로 앱을 설정하고 앱 이벤트를 처리하기위한 장소 (예 : 앱 닫기, 앱 배경 설정, 앱 열기)임을 기억하십시오.
+0

어떻게 만들고 연결합니까? –

+0

와우 ... 대단히 감사합니다. –

관련 문제