2011-07-06 2 views
1

내가 배우려고하는 것은 윈도우와 뷰 콘트롤러의 차이점이다. 애플리케이션 당 하나의 창만 가질 수 있다는 것을 알고 있습니다. 하지만 여러 개의 viewcontroller를 가질 수 있습니다. 창 기반 응용 프로그램 템플릿을 기반으로하는 프로젝트를 만들 때 나는 창만 얻습니다. 내 자신의 viewcontroller를 만들 수는 있지만 창 기반 응용 프로그램의 창에 직접 것들을 넣을 수 있다는 것도 알고 있습니다 (잘못 생각하면 올바른 것 같습니다). 그러나 뷰 기반 응용 프로그램을 사용하면 물론 추가 할 수 있다는 견해를 얻게됩니다. 어떤 의미라도 이해하면 누구나 나를 위해이 모든 것을 명확히 할 수 있습니까?윈도우와 뷰 콘트롤러의 차이점

답변

1

기본적으로보기 계층 구조의 일부로 모든 UIViewControllersUIViews을 호스팅하는 UIWindow이라는 하나의 인스턴스가 있습니다. 그래서 UIApplication은 "루트"보기에 액세스하기 위해 [UIApplication sharedApplication].keyWindow으로 전화를 겁니다.

그래서 예를 들어 다음과 같은 스택 할 수 있습니다 : -> MyView -

[UIApplication sharedApplication].keyWindow 자세한 내용은> MyOtherViewController

을, 좋은 설명에 제공 UIWindowUIViewController에 개발자 용 문서를 읽어 차이점들.

0

그들은 완전히 다른 두 가지입니다. 창은 주로 수퍼 뷰가없는 특수한보기입니다. 다른 모든보기를 보유하는 컨테이너입니다. 뷰 포함 트리의 루트에 위치하기 때문에 창은 이벤트를 적절한보기로 보내고 필요할 때 다시 그리는 과정에서 도움이됩니다. 그것 이외에, 창은 그것이 들어있는 견해에 대해 너무 걱정하지 않습니다.

보기 컨트롤러가 전혀 표시되지 않습니다. 뷰와 모든 하위 뷰를 관리하는 컨트롤러입니다. 보기 컨트롤러는 일반적으로 컨트롤의 사용자 입력에 응답하고 필요한 데이터로보기를 채우고 하위보기의 가시성을 관리합니다.보기 컨트롤러가 관리하는보기는 해당보기 컨트롤러가 활성 상태 일 때 창에 설치되지만보기 컨트롤러는 일반적으로 창 자체에 대한 직접적인 참조를 유지하지 않습니다.

관련 문제