'UIApplication'에 해당되는 글 1건

  1. 2010.07.08 아이폰iPhone 어플리케이션Application 실행 구조
AppleApp/Cocoa Touch2010. 7. 8. 14:09
어플리케이션이 시작되면 (UIApplication *)application인스턴스를 생성하고 application이 소유한 메인 NIB(.nib 또는 .xib확장자로 Next Interface Builder의 약자이다.)파일을 찾아서 로드하게 된다. 이 파일은 프로젝트 내의 Info.plist 중 Main nib file base name 항목에 정의된 값을 기준으로 찾아낸다. 이렇게 찾아낸 NIB파일에서 정보를 읽어들여 (UIApplication *)application과 연결된 모든 객체를 불러온다.

1. (UIApplication *)application인스턴스가 Info.plist를 통해서 메인 NIB파일을 찾는다.

2. 메인 NIB파일에서 UIApplication 클래스의 (NSObject *)delegate인스턴스에 연결된 AppDelegate클래스를 찾는다.

3. AppDelegate 클래스에서 (UIWindow *)window인스턴스에 연결된 Window클래스를 찾는다.

4. AppDelegate 클래스에서 (UIViewController *)viewController인스턴스에 연결된 ViewController클래스를 찾는다.

5. ViewController클래스는 view인스턴스(UIViewController에서 상속받는다.)에 연결된 View클래스를 찾는다.

6. 모든 파일 찾기가 끝나면 application인스턴스가 delegate인스턴스에 applicationDidFinishLaunching메서드를 호출한다.
(iPhone SDK 4이후에서는 application:didFinishLaunchingWithOptions:도 호출한다.)

7. 현재 사용중인 viewController인스턴스의 안에 생성된 메서드에 따라 작동한다.

위의 내용은 사실 프로젝트 파일 내에서 보이는 대략적인 개괄만을 늘어놓은 것이다. 실제로 프로그램이 돌아갈 때에는 눈에 보이지 않는 많은 절차들이 지나가며, 이 절차들은 Xcode에서 Debug Console을 열면 확인할 수 있다.
Posted by 마이클