문제

죄송합니다.이 질문이 초등학교 인 경우 그러나 나는 지난 2 일 동안이 버그에 갇혀 있었고 나는 그것을 지나칠 수 없었습니다. Xcode 4.3.2

를 사용하고 있습니다

BController.m

파일의 "- (void) 프로세스"라는 메소드에서 acontroller.xib이라는 acontroller.xib이라는 vib를로드하려고합니다.

명확히, 나는 /a/acontroller.xib (UIView), ./a/aController.m, ./a/b / p / p> 디렉토리에 복사됩니다.

나는 그것이 내 질문에 중요한지 확실하지 않기 때문에 이것을 언급합니다.

현재 내 흐름은 흐름으로 작동합니다 (내 문제가 될 수 있음) :

  • 구매 "버튼이있는 뷰로드
  • 사용자는 "BuyNow"
  • 라는 iBoutlet이있는 "Buy"버튼을 클릭합니다.
  • "BUYNOWNOW"는 "구매"를 호출 한 다음 "프로세스"
  • 를 호출합니다.
  • 프로세스는 다음과 같이 NIB를로드하려고 시도합니다 (옵션 1) :

    acontroller * blah; for (Bundle의 ID 객체) { if ([Object IskindOfClass : [Acontroller 클래스]]) blah= (acontroller *) 객체; } 주장 (blah!= nil && "blah는 nil이 될 수 없다"); [Self.View AddSubView : Blah];

여기에 얻는 오류는 메인에서 "스레드 1 : Signal Sigabrt"입니다. 또한 (옵션 2),

을 시도했습니다.
AController *myView = [[AController alloc] initWithFrame:self.view.bounds];
[self.view addSubview:myView];
[AController release];
.

및 (옵션 3)

AController * vc = [[AController alloc] initWithNibBundle:@"AController" bundle:nil];    [self.nc pushViewController:vc animated:NO];
.

모든 3 가지 선택에 대해 동일한 오류가 발생합니다. 각 옵션은 "프로세스"메소드에서 시도되었습니다. "프로세스"는 B.에서 작성되었습니다. 누구든지 도움이 될 수 있도록 도움이 될 수 있습니까? 이러한 옵션이 실패한 이유에 대한 지침은 내 이해에 매우 도움이 될 것입니다. 멍청한 돕기에 감사드립니다!

도움이 되었습니까?

해결책

AControllerUIView 서브 클래스 인 경우 NIB를로드 할 수 없습니다.실제로 컨트롤러가 있지만 initWithFrame에서보기에 추가하는 방식으로 인해 뷰에 추가되는 방법을 확인하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top