[ios] 펜촉을로드했지만 ‘보기’콘센트가 설정되지 않았습니다.

프로젝트에 새 펜촉 파일을 추가하고로드하려고했습니다.

그러나 내가 만든보기로 이동 해야하는 툴바 아이콘을 클릭 NSInternalInconsistencyException하면 다음 메시지가 표시됩니다.

잡히지 않은 예외 ‘NSInternalInconsistencyException’으로 인해 앱을 종료하는 이유 : ‘-[UIViewController _loadViewFromNibNamed : bundle :]에 “…”펜촉이로드되었지만 뷰 콘센트가 설정되지 않았습니다.’

그래서 펜촉 파일을 열었고 참조 콘센트가 설정되어 있지 않다는 것을 알았습니다. 그러나 “새 참조 콘센트”에 대한 원을 클릭하여 파일 소유자로 드래그하려고하는데 뷰를 표시하려면 어떻게해야합니까?



답변

당신은 옳습니다. 그러나 나는 새로운 이민자이기 때문에 모든 단계를 알아내는 데 약간의 시간이 걸렸습니다. 나를 위해 일한 것은 다음과 같습니다.

  • XIB 파일을 열어 문제를 일으킴
  • 왼쪽 막대에서 파일의 소유자 아이콘을 클릭하십시오 (위의 아이콘은 노란색 윤곽선이있는 상자 모양)
  • 오른쪽 사이드 바가 보이지 않으면 툴바에서 “보기”위의 세 번째 아이콘을 클릭하십시오. 오른쪽 사이드 바가 표시됩니다
  • 오른쪽 사이드 바에서 신문처럼 보이는 세 번째 탭을 클릭하십시오.
  • 상단의 “Custom Class”에서 Class가이보기에 해당하는 ViewController의 이름인지 확인하십시오. 그렇지 않은 경우 입력하십시오
  • 오른쪽 사이드 바에서 마지막 탭 (화살표가있는 원 모양)을 클릭하십시오.
  • 아래에 “보기”가있는 “아울렛”이 표시되어야합니다. 옆에있는 원을 왼쪽 막대의 “보기”아이콘으로 드래그합니다 (하단, 두꺼운 회색 윤곽선이있는 흰색 사각형 모양)
  • xib를 저장하고 다시 실행하십시오.

답변

이것은 Josh Justice 제안이지만 그래픽 방식입니다 (사진은 내 것입니다).

  1. 파일 소유자를 선택하십시오
  2. 오른쪽 패널에서 사용자 정의 클래스를 선택하십시오.
  3. 맞춤 클래스 이름을 입력하세요

여기에 이미지 설명을 입력하십시오

  1. 오른쪽 패널에서 oultets를 선택하십시오
  2. 구성 요소를 보려면보기 콘센트를 끌어

여기에 이미지 설명을 입력하십시오

마지막으로 View Controller는 롤링 코드로 인스턴스화됩니다.

        PTFilterUserVC *aFilterUserVC = [[PTFilterUserVC alloc] initWithNibName:@"FilterVC" bundle:nil];

        //OPTIONAL.This is how 'I' am interested in present the view controller.
        [self.navigationController pushViewController:aFilterUserVC animated:YES];


답변

일반적으로 파일 소유자와보기를 다시 연결하여 문제를 해결할 수 있습니다. 파일 소유자에서보기 (IB)로 Control- 드래그하고 팝업 메뉴에서보기를 선택하십시오.


답변

ID보기-클래스 ID가 설정되지 않았습니다. 적절한 클래스로 설정 한 후 문제가 해결되었습니다.


답변

yourViewController의 “view”속성에 UIView (또는 서브 클래스)가 할당되어 있습니까?

yourViewController에 대한 xib의 왼쪽 분할 창에서 “파일 소유자”를 마우스 오른쪽 단추로 클릭하고 “보기”콘센트가 설정되어 있는지 확인하십시오. 그렇지 않은 경우보기로 설정하십시오!

이것은 분명히 문제를 해결합니다


답변

나에게 여기에 https://stackoverflow.com/a/6395750/939501 에 언급 된 모든 것이 사실이지만 여전히 오류가 발생했습니다. 이유는 ABCView라는 이름의 View 클래스를 만든 다음 나중에 삭제했습니다. ABCViewController 그래서 어떻게 든 그것이 새로운보기 컨트롤러에서 오래된 ABCView를 참조하고 있었기 때문에 ABCViewController를 삭제하고 내 문제를 해결하는 다른 이름의 새 것을 추가해야했습니다.

감사


답변

XCode 4.6.3과 동일한 문제가있었습니다. 나는라는 이름의 두 파일을 시작했다 MySettingsView.h.m하지만 찬성을 삭제 MySettingsViewController.h,하지만 힌트의 대부분이 여기에 언급 시도해도에도 불구하고, 그것은 여전히으로 erroring 유지

2013-07-05 11 : 48 : 17.205 MyApp [39024 : c07] *** catch되지 않은 예외 ‘NSInternalInconsistencyException’으로 인해 앱을 종료하는 이유 : ‘-[UIViewController _loadViewFromNibNamed : bundle :]에 “MySettingsView”펜촉이 있지만 뷰 콘센트가로드되었습니다. 설정되지 않았습니다. ‘

MySettingsView Controller .xib 대신 MySettingsView.xib를로드하려고 시도했지만 여전히 “혼란”상태였습니다 . 어쩌면 그것의 “내가 무슨 뜻인지”논리가 너무 환상적 일 수도 있습니다.

그래서 MySettingsViewController.m에서 NIB / XIB 이름을 하드 코딩하여이 문제를 해결했습니다.

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:@"MySettingsViewController" bundle:nibBundleOrNil];
}