2011-02-01 3 views
0

사용자 정의 myViewController 클래스를 작성했으며 서브 뷰에 IBOutlet (topleftView)뿐만 아니라 을 기본값으로 갖습니다.IBOutlet을 사용자 지정 NIB/XIB에 두 번 연결해야하는 이유는 무엇입니까?

이 myViewController.xib를로드하기 위해 사용자 지정 NIB/XIB 파일을 만들었습니다. XIB 파일 내에서 파일 소유자를 myViewController로 설정하고 UIViewController ID 클래스를 myViewController로 설정했습니다.

제 질문은 왜 하위 뷰의 IBOutlet에서 참조 번호를 으로 그려야합니까? 파일 소유자와 인터페이스 작성기의 UIViewController 둘 다요?

사용자 지정 NIB/XIB를 처음 만드는 것이므로 내 머리를 새롭게하려고 노력하고 있습니다. 저는 대개 MainWindow에서 모든 것을했는데 응용 프로그램이 너무 커져서 일을 분산시키고 싶습니다.

하나의 IBOutlet에 동일한 nib 파일의 UIViewController와 File Owner에 대한 다중 연결이 없으면 _EXC_BAD_ACCESS_ 오류가 발생합니다. "나는 myViewController에 파일 소유자를 설정 한 XIB 파일 내부 ..."

답변

0

나는 당신이 여기에서 무엇을하고 있는지 모르겠어요. 나는 이것이 문제가있는 곳이라고 생각한다. XIB의 최상위 레벨에 몇 개의 아이템이 있습니까? 그것은 단지 File 's Owner, First Responser 및 View이어야합니다. 여기에 다른 컨트롤러 개체가 있으면 문제가됩니다. 그것을 제거.

이 부분 "... 그리고 설정 뿐만 아니라 myViewController에있는 UIViewController 신원 클래스는"올바른 것입니다. 사용자 지정 UIViewController를 XIB에 연결하려면 "File 's Owner"의 시계를 "Identity Inspector"로 이동 한 다음 "Class"필드에서 "Class Identity"를 찾으십시오. 이것을 'myViewController'(또는 이름을 지정한 것)로 설정하십시오.

이제는 설정 한 각 콘센트의 파일 소유자에서 Ctrl-D를 1 드래그해야합니다.

+0

감사합니다. 이것은 EXC_BAD_ACCESS 문제가 발생한 이유뿐만 아니라 내 문제였습니다. 그래서 사용자 정의보기 컨트롤러 클래스가 있으면 클래스 ID 관리자의 파일 소유자로 설정해야합니다. 나는 또한 UIViewCOntroller 객체를 XIB와 UIView 아래에 가지고 있어야한다고 생각했다. XIB에서 컨트롤러를 제거한 후 UIView를 그대로두고 나면 모든 것이 작동합니다! –

0

내 질문은 왜가 후크와 파일 소유자 및 인터페이스 빌더에서 UIViewController에 모두 하위 뷰에 함께 IBOutlet에서 참조를 그릴해야합니까입니까?

짧은 대답 : 그렇지 않습니다. File 's Owner의 클래스를 UIViewController 서브 클래스의 클래스 이름으로 설정하면됩니다.

관련 문제