본문 바로가기

교육/iOS

[iOS] 구조

1. main.m

맨 처음 파일

wizard는 여기서 UIApplicationMain 함수를 반환한다.


2. UIApplicationMain 함수

App과 관련된 delegate 함수를 받을 수 있는 클래스를 설정 함(기본적으로 wizard에서는 AppDelegate라고 만들어준다. 그래서 마지막인자를 AppDelegate class의  string으로 받는것) 


3. AppDelegate

UIApplication 객체가 보내는 이벤트를 처리할 객체

NSObject가 아니라 NSResponder를 상속받음(제스쳐 관련 이벤트)

UIApplicationDelegate 프로토콜을 구현한다.


4. 구조

5. 코드로 viewController 호출하는 법

AppDelegate의 application: didFinishLaunchingWithOption: 함수에서 작성


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    // Override point for customization after application launch.

    NSLog(@"프로그램이 시작됌");

    

    CGRect rc = [[UIScreen mainScreen] bounds];// 화면 크기 구하기

    _window = [[UIWindow alloc] initWithFrame:rc];

    _window.backgroundColor = [UIColor whiteColor];

    

    // 만들기

    UIView* view = [[UIView alloc] initWithFrame:rc];

    view.backgroundColor = [UIColor whiteColor];

    [_window addSubview:view];

    

    // 버튼 만들기

    CGRect rc3 = CGRectMake(50, 50, 100, 100);

    UIButton* bt = [[UIButton alloc] initWithFrame:rc3];

    [bt setTitle:@"button" forState:UIControlStateNormal];

    [view addSubview:bt];

    bt.backgroundColor = [UIColor blueColor];

    

    // 컨트롤러 만들기

    FirstViewController* fvc = [[FirstViewController alloc] init];

    fvc.view = view;

    _window.rootViewController = fvc;

    [bt addTarget:fvc action:@selector(buttonClick) forControlEvents:UIControlEventTouchUpInside]; // 버튼 클릭하면 동작하는 함수 만들기

    [_window makeKeyAndVisible];

    return YES;

}

'교육 > iOS' 카테고리의 다른 글

[iOS] init  (0) 2016.08.03
[iOS] xib와 strong, weak  (0) 2016.08.03
[iOS] Xib  (0) 2016.08.01
[iOS] 눈내리는 애니메이션 만들기  (0) 2016.08.01
[iOS] 뷰의 sub뷰 가져오기  (0) 2016.08.01