개발한 어플리케이션이 실행되면 제일먼저 main.m 안의 main 함수에서 UIApplicationMain이 호출되고 이어 Info.plist의 Main nib file base name에 설정된 xib가 로드됩니다. 기본적으로 자동생성되는 MainWindow.xib가 그것입니다.
열어서 File’s Owner의 delegate를 보시면 {프로젝트명}AppDelegate와(이후 TheeyeAppDelegate) 기본적으로 연결되어있는것을 알 수 있습니다.
한마디로 요약하면 UIApplicationMain을 통해 호출되는 MainWindow.xib의 Delegate는 TheeyeAppDelegate클래스 라는 것입니다.
위의 라이프사이클 그림을 보시면 UIApplicationMain이 호출될 때 applicationDidFinishLaunching이 호출되는 것을 알 수 있습니다.
저것은 TheeyeAppDelegate안에 정의 되어있는 메서드입니다.
이 안에서 각종 View들을 선언하고 Window에 그려내는 초기화 작업을 하게 됩니다.
하지만 다른 클래스에서 이 Delegate 클래스에 접근하고 싶을 경우에는 어떻게 해야 할까요? 다음과 같은 방법이 있습니다.
[code]TheeyeAppDelegate *delegate = [[UIApplication sharedApplication] delegate];[/code]
다음에는 하위 View에서 새로운 View를 생성후에 Window에 붙이고 자기 자신을 소거하는 방법에 대해 적어보겠습니다.
조언 : AccessDenied
참고 : http://discussions.apple.com/message.jspa?messageID=7405287
[iPhone] UIApplication의 delegate 클래스 가져오기
2 Replies