2009-03-24 7 views
5

Xcode에서 간단한 탭 표시 줄 응용 프로그램을 만들었습니다.iPhone SDK의 탭 막대 컨트롤러를 사용하여 뷰 콘센트를 설정하는 방법

기본 탭 표시 줄에는 2 개의 탭 표시 줄 항목이 있습니다. 세 번째 탭 표시 줄 항목을 추가하고 뷰 컨트롤러 속성을 내가 만든 후 ThirdView.xib라는 저장 한 뷰에 설정합니다.

실행하려고하면 처음 두 개의 기본 탭이 정상적으로 작동합니다. 내가 추가 한 세 번째는이 오류가 발생합니다 :

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', 
reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "ThirdView" nib but 
the view outlet was not set.' 

나는 거대한 아이폰 SDK를 n00b 해요 나는 사과 만 클릭하고 드래그 및 제어 - 클릭 드래그 어떠한 방식 날에보기 콘센트를 설정할 수 없습니다 내가 만든 세 번째 견해.

답변

2

10 분 전에 비슷한 문제가 있었지만 xib 파일을 저장하지 않았습니다. :). 몇 가지 이유로 Xcode는 한 번 실행될 때 xib 파일을 저장할지 묻지 않습니다.

그러나 그렇지 않은 경우 뷰가 실제로 xib 파일에 연결되어 있는지 확인합니다.

이렇게하려면 ThirdView.xib을 일반 텍스트 파일 (마우스 오른쪽 버튼을 클릭> 일반 텍스트 파일로 열기) 으로 열고 텍스트 : "보기 <"로 검색하십시오. 당신이 그것을 찾을 수없는 경우

<object class="IBConnectionRecord"> 
    <object class="IBCocoaTouchOutletConnection" key="connection"> 
     <string key="label">view</string> 
     <reference key="source" ref="372490531"/> 
     <reference key="destination" ref="191373211"/> 
    </object> 
    <int key="connectionID">15</int> 
</object> 

이 문제는 인터페이스 빌더 버그로 인해 발생되는 것을 의미 할 수있다 : 뷰가 연결되어있는 경우 아래의 코드와 유사 뭔가를 찾아야한다. 그런 다음 직접 연결을 추가 할 수 있습니다. 그것이 사실인지 알려주세요.

1

initFromNib에 전달할 파일 이름을 확인하십시오 (또는 컨트롤러를로드하는 중). 오타 또는 확장명을 포함하면이 메시지가 나타날 수 있습니다.

0

XCode 4를 사용하면 Tab Bar Controller에서 "Third"버튼의 NIB 이름을 설정하지 않았기 때문에이 오류가 발생합니다. 버튼 내의 탭 막대 항목이 아닌 "제 3의"버튼을 선택하여 문제를 해결했으며 속성 검사기를 사용하여 NIB 이름을 설정했습니다.

관련 문제