CharSyam
Tag | Location | Media | Guestbook | Admin

2009/11/16 01:32 2009/11/16 01:32
아이폰 프로그래밍 시작하기-2 Nib 와 loadView의 관계

필자, 역시, 아이폰 프로그래밍은 이제 막 시작하는 거라, 완전 밑바닥 부터 공부를 하는 중이다.

(과연 공부를 하고 있냐고 물으신다면, 아니라고 쿨럭…)

사실, 몇달전에 간단한 아이폰 어플을 만든 적은 있지만, 그 때는, 내부 구조를 전부 C++로 만들고, UI만 아이폰 컨트롤을 조금 써서 만들었었다. 그 때의 목표는 Windows Mobile 어플과 아이폰 어플의 로직을 같은 코드로 공유하는 것이었다.

그런데, 그 때도 잘 이해하지 못하고 넘어갔던 것들이 nib 와 각 컨트롤러의 동작들이었는데, 이번에 그 부분을 공부할려고 하니 완전히, 삽질의 바다에서 헤메이는 것이었다. 이래서 물어봐야 하는데, 안 물어본 쿨럭…(혼자서 할 수 있을꺼라고 생각하다니 T.T 주변에 아이폰 프로그래밍 잘하는 사람들이 수두룩 한데 쿨럭…)

그러나, 책을 보고, 예제를 고쳐보고 곰곰히 생각해보니 다음과 같은 관계가 간단하게 성립한다.

image

이 부분을 잘 몰라서, NIB를 안 쓸려고 하니, 화면이 나오지 않는다든지, 또는 원하는 동작이 일어나지 않는다든지 한 것이다. 그렇다면 NIB를 안쓰고 할려면 위의 Nib 가 해주는 역할을 개발자가 대신 해줘야 하는 것이다.

1) NIB를 사용할 경우

- (void)applicationDidFinishLaunching:(UIApplication *)application {   
    [window addSubview:viewController.view];
    [window makeKeyAndVisible];
}

2) NIB를 사용하지 않을 경우 – MainWindow.xib 는 쓸 경우

- (void)applicationDidFinishLaunching:(UIApplication *)application {  
    HelloController *viewController= [[HelloController alloc] init];
    [window addSubview:viewController.view];
    [window makeKeyAndVisible];
}

2) NIB를 사용하지 않을 경우 – 전체 사용 안함

- (void)applicationDidFinishLaunching:(UIApplication *)application {  
    UIWindow *window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    HelloController *viewController= [[HelloController alloc] init];
    [window addSubview:viewController.view];
    [window makeKeyAndVisible];
}

다른 부분들도 바뀌어야 하는 부분들이 있지만, nib를 안쓰면 다음과 같이 코드 부분들이 늘어나는 것을 알수 있다.

Track this back : http://liso.or.kr/~charsyam/charsyam/tc/CharSyam/trackback/61

[로그인][오픈아이디란?]
name    password    homepage
 hidden


BLOG main image
CharSyam
 Notice
 Category
전체 (90)
(19)
(3)
프로그래밍 (61)
게임 (1)
Server Setting (5)
대학원 (1)
 TAGS
모듈 사용 뷰 식스픽셀 Atomic VFS 다국어바로가기 C&C 뷰타입 스타일 Window Mobile 6 공짜경제학 모듈 분할 뷰 구글드 WindowsMobile Design Pattern CeRegSetValueEx TDD CAB 뷰패킷 googletest Abstract Factory DTM_SETIMAGE 죽음의 행진 Bundle Identifier MACOSX 포팅 윈도우즈 모바일 SetUp 구글테스트 지속적인 통합 WindowMobile 버전관리 고수
 Calendar
«   2010/07   »
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
 Recent Entries
YES24 총알 배송 광고
CMake – CMakeLis...
Autotools 관련 좋은 링...
고수와 전문가의 차이
Zookeeper 설치 방법
 Recent Comments
오~ 이 책도 땡기는군요...
ohyecloudy - 05/25
항상 정리해야 되는데,...
CharSyam - 05/13
잘 정리하셨네요. ^^
고감자 - 05/12
네, 저도 동감합니다....
CharSyam - 2009
http://www.thisisgame....
ParkPD - 2009
 Recent Trackbacks
Discount patio furniture.
Discount furniture.
Furniture competition.
Furniture design compe...
Acomplia ribona.
Acomplia.
Premarin.
Premarin vaginal cream.
스크럼과 XP
The note of Legendre
 Archive
2010/07
2010/06
2010/05
2010/04
2010/03
 Link Site
 Visitor Statistics
Total : 38342
Today : 44
Yesterday : 73
rss
Powered by Tistory & Designed by webnoon.net