2012-03-02 3 views
0

저는 현재 'Beginning iOS 5 Games Development : Lucas Jordan의 iPhone, iPad 및 iPod Touch 용 iOS SDK 사용하기'를 읽고 있습니다. 이 책에는 다양한 UIViewController를 사용하여 'Rock, Paper, Scissors'게임을하도록 지시받은 부분이 있습니다. 내 문제는 모든 새 프로젝트와 함께 제공되는 ViewController.h 파일에 ViewController_iphone.x.xib (이름에서 알 수 있듯이 iPhone 용으로 제작 됨)에서 IBOutlet을 만들 수 없다는 것입니다.다른 UIViewController의 .xib 파일에서 ViewController.h의 IBOutlet을 만들려면

ViewController_iPhone.xib에서 UIView를 만들고 FileController_iPhone.xib에 .xib의 소유자를 설정했습니다. Ctrl 키를 누른 상태에서 클릭하고 ViewController.h에 뷰를 연결하려고하면 그렇게 할 수 없습니다. 파일의 소유자를 ViewController로 변경하면 ViewController.h에서 IBOutlet을 만드는 것이 문제가되지 않지만 프로그램이 올바르게 작동 할 수 있도록 올바른 파일 소유자가 아닙니다.

나는 책의 소스 코드를 다운로드했으며 책의 저자는 oultlet을 만드는 데 아무런 문제가없는 것으로 보였다. 나는 그의 프로젝트를 그의 프로젝트와 비교했는데 나는 틀린 것을 발견 할 수없는 것처럼 보였다.

누구든지 나를 도울 수 있다면, 나는 매우 감사 할 것입니다. 감사합니다.

Fitzy

답변

1

당신은 귀하의 경우 ViewController입니다 관련 UIViewController의 이름으로 파일의 소유자를 설정해야합니다.

일반적으로 파일 소유자를 XViewController으로 설정하면 IBoutlet 만 해당보기 컨트롤러에 연결할 수 있습니다.

+0

제가 조금은 분명하지 않을 수도 있습니다. ViewController_iPhone이라고하는 iPhone 용 별도의 UIViewController가 있습니다. – Fitzy

+0

@Fitzy - ViewController_iPhone.h 및 ViewController_iPhone.m을 보유하고 있습니까? 아니면 그냥 ViewController_iPhone.xib? – sch

+0

ViewController_iPhone.h와 ViewController_iPhone.m을 모두 가지고 있습니다. – Fitzy

0

MVC 모델 인 Model-View-Controller 모델은 한 뷰에서 다른 뷰의 컨트롤러를 터치 할 의도가 없습니다. InterfaceBuilder에서는, 특정 뷰에 대해서만 컨트롤러에 액션을 추가 할 수 있어야합니다.

한 컨트롤러에서 다른 컨트롤러로 정보를 전달할 수있는 방법이 있습니다. 위임자를 사용하는 경향이 있지만 내가하는 일에 대해 더 많이 알지 못해서 그게 맞는지는 모르겠습니다. 대답.

관련 문제