아이폰어플개발정보2010. 6. 24. 14:22
iPhone SDK Tutorial 어플의 실행 순서

참 많이도 궁금했다. 실은 이런걸 먼저 습득한 후 개발에 들어가야 했었는데,

내가 알아낸건 앱이 최초 실행될 때의 과정에 대해서이다.

딜리게이트, XIB, 뷰, 뷰콘트롤러.. 그리고 이것들의 연결고리들.. 복잡해 보였기 때문에, 이 부분을 파는게 옳았다.

뷰에 관점을 두어야 한다.

뷰는 도화지다. 아니 화면이다. 사용자화면 말이다.

앱은 실행될 때 최초로 "화면에 뷰를 띄워야 한다" 는 것이다.

윈도우베이스로 프로젝트를 생성하고 실행시키게 되면 어떠한 뷰도 나타나지 않는다.

시뮬레이터에 보이는 것은 그냥 먹먹한 회색빛 화면이다.

따라서,

앱한테 최초에 어떤 뷰를 보여주어야 하는지 설정해줘야 한다. 이걸 어디서 하느냐면..

바로 딜리게이트에서 한다. 딜리게이트의 헤더에 뷰콘트롤러를 아웃렛으로 코딩해주고 구현부에서

해당 뷰콘트롤러가 가진 뷰를 윈도우의 뷰로 설정하라는 코드가 필요하다.

이하 헤더부

#import <UIKit/UIKit.h>

@interface SPWinBaseAppDelegate : NSObject <UIApplicationDelegate> {
    UIWindow *window;
UIViewController *viewContrller;
}

@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UIViewController *viewContrller;

@end

이하 구현부

#import "SPWinBaseAppDelegate.h"

@implementation SPWinBaseAppDelegate

@synthesize window;
@synthesize viewContrller;

- (void)applicationDidFinishLaunching:(UIApplication *)application {   

    // Override point for customization after application launch
[window addSubview:viewContrller.view];
    [window makeKeyAndVisible];
}


- (void)dealloc {
    [window release];
    [viewContrller release];
    [super dealloc];
}
@end

그리고 인터페이스 빌더에서 MainWindow.XIB 를 열고 라이브러리로부터 뷰콘트롤러를 드래그 하여 추가한다.

이제 위에서 코딩한 뷰콘트롤러 아웃렛이 바로 이녀석임을 설정!! (난 사실 이 부분이 너무 알고 싶었던 거다. 후후)


자, 이제 끝인가? 아니다.

뷰콘트롤러를 딜리게이트에 연결해줬고, 델리게이트의 런치피니쉬 메소드에서 메인윈도우의 뷰로 설정도 해줬지만

정작 뷰콘트롤러는 아무런 뷰도 가지고 있지 않다.

라이브러리를 통해서 뷰콘트롤러에 "뷰" 콘트롤을 추가해주고 실제 UI 작업은 그곳에서 해야 한다.

뷰를 올려놓으면 위 그림처럼 뷰콘트롤이 뷰콘트롤러의 하위 콘트롤로 생성이 되며, 그곳에 아무 라벨이나 올려놓고 실행해보자.




출처 : http://blog.naver.com/PostView.nhn?blogId=suny4rang&logNo=50081347132
Posted by 오늘마감

댓글을 달아 주세요