* 어플 개발에서 게임이 아닌 이상 테이블 뷰를 제일 많이 사용한다.
* 이는 '맥부기카페 :http://cafe.naver.com/mcbugi.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=6694 '에서 발췌한 내용으로
IB없이 UITableViewController로 테이블 뷰를 구현하는 것이 아닌 UIViewController를 만들어 그 안에 구현하는 식을 설명한다
* UITableView의 중요성을 인지하고 개념정리를 할려던 중 개념 정리에 좋은 컨텐츠인 것 같아 저장을 하여본다.
1. 새 프로젝트에서 Window Based Application 으로 프로젝트를 만든다.
2. 밑에 사진이 인터페이스 빌더 없이 만들어진 순수 코드이다.
모든 어플은 처음에 '프로젝트명AppDelegate'로 만들어져 시작한다. (그전에 main 함수를 포함한다.)
- 앱델리게이트만 있는 상태에서 화면에 뜰 뷰는 window라는 변수(UIWindow)로 지정되어 있다.
그래서 window가 가장 최상위 뷰라 생각하면 된다. 나중에 뜰 뷰들은 전부 window 하위 뷰로 들어간고 생각하자.
3. 뷰 컨트롤러를 하나 만든다.
- iPhoneOS > Cocoa Touch Classes > UIViewController subclass 선택
- 내비게이션 컨트롤러와 이 컨트롤러가 시작 시에 보여줄 루트 뷰 컨트롤러를 생성한다.
꼭 테이블 뷰를 루트 뷰로 만들 이유는 없지만 드릴다운(drill down)에 가장 적합한 구조이며
커스터마이즈 하기 쉽기에 루트 뷰를 사용한다.(클래스명은 상관없음)
* 이는 루트 뷰에 대한 설명이며 위의 class명은 보기 쉽기 위해 작성한 것이다.
- RootViewController가 생성되었다. 이 객체를 사용하기 위해 앱 델리게이트를 연결해 보자.
4. 기본 제공되는 Delegate의 헤더 파일에 아래와 같이 선언해 주자.
- 일단 RootViewController를 참조하기 위해 임포트를 시켜준다.
#import "RootViewController.h"
@interface testAppDelegate : NSObject <UIApplicationDelegate> {
RootViewController *RVC; // 추가할 부분
UIWindow *window;
// 이 안에 testAppDelegate객체 안에서 사용될 클래스 변수를 적는곳입니다.
}
이미 기본적으로 window 변수가 이미 정의되어 있다.
이 곳에 RootViewController *RVC; 를 사용할 객체로 지정할 변수를 정의해 준다.
5. 구현 파일(.m 파일 여기서는 testAppDelegate.m)에서 아래 코드를 추가합니다.
- (void)applicationDidFinishLaunching:(UIApplication *)application {
RVC = [[RootViewController alloc] init]; // < 추가
[window addSubview:RVC.view]; // < 추가
// Override point for customization after application launch
[window makeKeyAndVisible];
}
RVC = [[RootViewController alloc] init]; // 처음 사용될 RootViewController를 만든후 초기화 합니다.
[window addSubview:RVC.view]; // RootViewController에 달린 뷰를 window에 추가합니다
'개발 > App Developer' 카테고리의 다른 글
UI 의 작동 (0) | 2010.09.06 |
---|---|
아이패드 사용기 (0) | 2010.09.06 |
UITableView - 델리게이트 구현이론(1) (0) | 2010.09.06 |
IB 없이 하기, UIButton (0) | 2010.09.06 |
IB 없이 하기, UITableView끝장보기 (2) 그룹과 셀 (0) | 2010.09.06 |