2011-12-19 2 views
0

ViewController.xib와 MainWindow.xib의 차이점에 대해 혼란스러워합니다.xcode 4.2 iphone ViewController.xib 및 MainWindow.xib

모든 자습서와 책은 MainWindow.xib를 매우 일관되게 참조하는 것으로 보입니다. 그러나 xcode에서 템플릿을 선택하면 표시되지 않습니다.

특정 템플릿의 경우 때때로 ViewController.xib premade가 표시됩니다. 그러나 여전히 MainWindow.xib는 생성 된 것으로 보이지 않습니다.

이렇게하면 혼란 스럽습니다. MainWindow.xib는 중요한가요? 왜 많은 교육 리소스가이 MainWindow.xib 파일을 참조하지만 그것이 만들어지지 않은 이유는 아닙니까? xcode의 제 버전입니까?

답변

1

MainWindow.xib는 포함 된 대부분의 xCode 4.2 템플릿으로 생성됩니다. 단순히 App Delegate에서 사용하는 .xib에 UIWindow를 포함합니다. UIWindow는 앱이 포함 된 창입니다.

MainWindow.xib와 ViewController.xib의 차이는 크지 만 작습니다. MainWindow.xib에서 전체 응용 프로그램 UI를 선택할 수 있습니다. 즉, 전체 앱에 대해 하나의보기 만 있으면됩니다. ViewController.xib에서 응용 프로그램의 레이아웃을 선택했다면 하나 또는 여러 개의보기가 필요할 수 있습니다. MainWindow.xib와 ViewController.xib의 가장 큰 차이점은 ViewController.xib가 Model View Controller (또는 MVC) 패턴의 View 부분이라는 것입니다. Wikipedia에서 MVC의

정의 :

모델 뷰 컨트롤러 (MVC)의 패턴을 제공하는 동안, 애플리케이션의 다른 양태 (입력 로직, 비즈니스 로직 및 UI 로직)를 분리 애플리케이션 작성 이러한 요소들 사이의 느슨한 커플 링.

ViewController.xib에는 UIViewController에서 제어 할 UIView가 포함되어 있습니다. UIViewController 클래스를 사용하면 뷰로드 및 언로드와 같은 이벤트가 언제 발생하는지 쉽게 알 수 있으므로 뷰를 쉽게 처리 할 수 ​​있습니다. MainWindow.xib의 UIWindow는 응용 프로그램 실행 및 기타 응용 프로그램 관련 이벤트에 대한 정보 만 알고있는 응용 프로그램 대리인에게 연결됩니다.

선택한 경우 UIView를 포함하도록 MainWindow.xib를 수정하여 별도의 UIViewController에서 처리 할 수 ​​있습니다.