2012-05-17 2 views
0

빈 응용 프로그램을 만든 다음 창을 추가했습니다 (창 기반 응용 프로그램으로 만들었습니다).단일 응용 프로그램에서 탐색 컨트롤러가있는 Tabbar 컨트롤러

그런 다음 tabbarcontroller와 tabbarcontroller 내부의 탐색 컨트롤러를 추가했습니다.

인해 응용 프로그램 종료 - 나는 다음 응용 프로그램이 충돌과 같은 오류를주고 각 탭에 대한 내 응용 프로그램에 펜촉 파일을 추가하고 난 nib 파일 중 하나에 버튼을 추가 viewcontrollers.Then 할 수있는 펜촉 이름을 준 'NSUnknownKeyException'이 (가) catch되지 않았습니다. 이유 : '[setValue : forUndefinedKey :] : 이 클래스는 키 btnNext에 대해 키 값을 코딩하지 않습니다.'

----- 나는 버튼의 iboutlet도 연결했습니다. 그렇다면 왜이 오류가 발생합니까?

답변

0

이 오류는 IBOutlet이 올바르게 배선되지 않은 경우 발생합니다. 한 가지 일반적인 예는 Interface Builder에서 IBOutlet을 연결하고 해당 클래스 (IBOutlet이 정의 된 위치)에서 해당 속성을 삭제하는 경우입니다. 분명히 그 일은 실수 일뿐입니다.하지만 불행히도 Xcode는 컴파일 타임 오류를주지 않고 대신이 모호한 런타임 오류를 제공합니다. 관련 인터페이스 빌더 파일의 모든 IBOutlet을 살펴보고 헤더 파일의 IBOutlet (유형 및 존재 여부 모두)과 정확하게 일치하는지 확인하십시오.

+0

실제로 예제를 사용하여 하나의 버튼 만 있습니다. 주어진 .h 파일의 UIButton * btnNext; 속성 (비 원자형, 보유) IBOutlet UIButton * btnNext; end 및 구현 파일 btnNext를 합성하십시오. – user1395474

0

필요한 것은 네비게이션 컨트롤러를 탭에 추가하고 (뷰 컨트롤러)의 네비게이션 컨트롤러 내부에 뷰 컨트롤러의 클래스 이름을 넣어야합니다. 희망이 link도 당신을 도울 것입니다.

+0

이제 오류가 발생했지만 탭바 및 뷰가 아닌 창만로드됩니다. – user1395474

+0

[self.window addSubView : tabBarController.view]와 같은 위임 응용 프로그램에 탭바를 추가해야합니다. –

관련 문제