第一个IOS程序

来源:互联网 发布:线程池 java 编辑:程序博客网 时间:2024/06/06 13:58

1.每一个应用程序都 有属于自己的UIWindow, UIWidow继承自UIView.

2.UIView面临的问题

1> 谁来控制UIView之间的切换?

2>谁来管理UIView的生命周期?

3>谁来给UIView装配数据?

4>谁来监听UIView的事件?

上面总是的答案是:控制器(UIViewController)

ios程序的运行原理:

1.首先执行main函数

2.执行UIApplicationMain函数

3.UIApplicationMain函数内部

1》创建一个UIApplication对象 是单粒的,一个iOS程序对应一个UIApplication对象

2> UIApplication对象是应用程序的象征

3》开启一个消息循环(main loop),用来监听用户的操作

4》再创建一个UIApplication的delegate对象,负责监听UIApplication的生命周期

5》当UIApplication的生命周期发生改变时,会给delegate发送不同的消息

*当第一次运行程序的时候:

didFinishLaunchingWithOptions (加载完毕)-》

applicationDidBecomeActive (获取焦点)

*当点击home键的时候:

applicationWillResignActive (失去焦点)—>

applicationDidEnterBackground (进入后台)

*当再次点击应用图标重新进入应用的时候:

applicationWillEnterForeground (进入前台)-》

applicationDidBecomeActive (获取焦点)


UIApplicationMain函数的的参数

////  main.m//  第一个IOS程序////  Created by apple on 14-6-12.//  Copyright (c) 2014年 itcast. All rights reserved.//#import <UIKit/UIKit.h>#import "WFAppDelegate.h"int main(int argc, char * argv[]){    @autoreleasepool {        return UIApplicationMain(argc, argv, nil, NSStringFromClass([WFAppDelegate class]));    }}


前2个是c语言main函数默认参数

第3个用来指定UIApplication的类名(或者子类),如果是nil相当于

NSStringFromClass([UIApplication class])
第4个参数用来指定uIApplication的代理 

应用程序加载后,初始化控制器

#pragma mark 在应用程序加载完毕之后调用- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{    NSLog(@"didFinishLaunchingWithOptions-加载完毕");        // 初始化一个窗口    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];        // 传入xib文件名来初始化一个控制器    self.viewController = [[[MJViewController alloc] initWithNibName:@"MJViewController" bundle:nil] autorelease];        // 设置窗口的根控制器    self.window.rootViewController = self.viewController;    // 上面的代码内部执行了下面代码的操作    // [self.window addSubview:self.viewController.view];        // 窗口不会默认显示,需要调用方法来显示    // keyWindow是主窗口,只有主窗口才能跟用户正常交互    [self.window makeKeyAndVisible];    // self.window.hidden = NO;    return YES;}



0 0
原创粉丝点击