[IPhone 08.30]01. 아이폰 어플리케이션 골격의 기본 5가지
2010. 8. 30. 12:05ㆍIPhone/Basic
반응형
1. main()함수
int main(int argc, char *argv[]) { NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init]; int retVal=UIApplicationMain(argc,argv,nil,@"SampleAppDelegate"); [pool release]; return retVal; } |
C프로그램은 처음 시작되면 main문을 시작으로 시작되게 된다.
IPhone SDK의 언어 역시 오브젝티브C를 이용하여 작성되기때문에 이 또한 C의 영향을 받아 main문을 중심으로 실행된는데 main에서는 메모리 관리를 준비하며 애플리케이션의 이벤트 루프를 실행하게 된다.
2. applicationDidFinishLaunching 메소드
-(void) applicationDidFinishLaunching:(UIApplication *)application{ UIWindow *window=[[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds]]; UINavigationController *nav=[[UINavigationController alloc]initWithRootViewController:[HelloController alloc]init]]; [window addSubview:nav.view]; [window makeKeyAndVisible]; } |
applicationDidFinishLaunching 메소드는 main에서 이벤트 루프를 실행하고 이때 그 다음 가장 먼저 호출하게 되는 부분이며 여기서 기본이 되는 윈도우를 생성하고 그 내용을 설정한 후 뷰(윈도우)가 애플리케이션에 기본 응답자가 되도록 설정한다.
3. applicationWillTerminate 메소드
-(void)applicationWillTerminate:(UIApplication *)applicatioin{ //종료 직전 마지막 상태에서 필요한 일을 여기서 처리한다. } |
applicationWillTerminate 메소드는 대부분 사용되는 메소드로써 아이폰의 스프링 보드(아이콘들이 줄줄줄 있고 홈키를 누르면 나타는 곳)로 컨트롤을 다시 넘기기 전에 애플리케이션이 어떤 상태든 완결되도록 처리할 수 있다.
4. LoadView 메소드
-(void)loadView { contentView=[[UIImageView alloc]initWithFrame: [[UIScreen mainScreen] applicationFrame]]; [contentView setImage:[UIImage imageNamed:@"helloworld.png"]]; self.view=contentView; [contentView release]; //자동 회전과 리사이즈에 대한 지원을 제공 contentView.autoresizesSubviews=YES; contentView.autoresizingMask=(UIViewAutorresizingFlexibleWidth|UIViewAutorseizingFlexibleHeight); } |
LoadView 메소드 UIViewController를 사용해 애플리케이션을 구현할때 화면을 설정하고 하위뷰를 배치하는 필수 메소드가 loadView다. UITableViewController나 UITabBarController와 같은 특수한 하위 클래스를 상속할 때는 항상 [super loadView]를 호출하도록 한다.
5. shouldAutorotateToInterfaceOrientation 메소드
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return YES; } |
shouldAutorotateToInterfaceOrientation 메소드를 아이폰은 중력을 이용해 사용자의 편의를 줄 수있도록 중력센서를 가지고 있는데 이를 최대한 활용하기 위해 이 메소드를 사용해야한다. 만약 사용자가 아이폰을 가로로 나뒀을 경우 사용자가 넓은 시야로 볼수 있게 자동으로 가로로 돌려주고 새로로 나뒀을 경우 아래의 까지 긴내용을 쉽게 볼 수 있게 할 수있게 자동으로 돌려주는 기능으로 프로그래머가 should-autoratate메소드를 추가해야 된다.
위 5가지는 가장 골격이 되는 메소드이므로 항상 고려하여 만들어야한다.
반응형
'IPhone > Basic' 카테고리의 다른 글
[IPhone 09.01]06. About of View (0) | 2010.09.01 |
---|---|
[IPhone 09.01]05. Touch (0) | 2010.09.01 |
[IPhone 09.01]04. TableView (0) | 2010.09.01 |
[IPhone 08.30]03. Objective - C의 특징 (0) | 2010.08.30 |
[IPhone 08.30]02. 뷰 컨트롤러 (0) | 2010.08.30 |