多控制器管理 ——程序啓動過程

一、UIApplicationMain的執行步驟

1.根據第3個參數創建一個UIApplication對象,一個程序對應一個UIApplication對象(單例),UIApplication對象是程序的象徵

2.接下來會根據第4個參數創建一個UIApplicationdelegate對象

3.開啓一個消息循環(不斷地監聽一些系統事件)

4.監聽到相應的事件後,就會給代理髮送相應的消息

二、UIApplication

1.設置程序圖標右上角的數字

UIApplication *app = [UIApplication shareApplication];

app.applicationIconBadgeNumber =1;


2.顯示網絡連接狀態

app.networkActivityIndicatorVisible =YES;


3.打電話\發短信\發郵件\打開Safari瀏覽器

NSURL *url = [NSURL URLWithString:@"tel://10086"];

NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];

NSURL *url = [NSURL URLWithString:@"file://"];

[app openURL:url];


4.隱藏狀態欄

app.statusBarHidden =NO;


三、常見文件

1.*-Info.plist文件

1>項目中最主要的文件,描述了軟件名稱、軟件版本、軟件唯一標識

2>常見設置

*軟件名稱 -- Bundle display name -- CFBundleDisplayName

*軟件版本號 -- Bundle version -- CFBundleVersion

*軟件的唯一標識 -- Bundle identifier -- CFBundleIdentifier

3> Xcode3的時候文件名叫做:Info.plist


2.*-Prefix.pch

1>該文件中的內容,會被項目中的其他所有文件共享

2>用來存放全局性的一些宏定義、#import語句

3>控制日誌輸出

/*

 如果軟件處於調試狀態,系統會默認定義一個叫做DEBUG的宏

 如果軟件處於發佈打包狀態,系統就不會定義DEBUG這個宏

 */

#ifdef DEBUG


//調試狀態,將MJLog替換成NSLog

#define MJLog(...) NSLog(__VA_ARGS__)


#else


//發佈狀態,將MJLog替換成空

#define MJLog(...)


#endif


3.Default.png

1>程序在啓動過程中會全屏顯示叫Default.png的圖片

2>可以有多個版本

Default.png320x480

Default@2x.png640x960

Default-568h@2x.png640x1136


4.Icon.png

1>軟件圖標

2>蘋果官方文檔搜索“app icon” -->App Icons on iPad and iPhone


四、程序的完整啓動過程(控制器的view的顯示過程)

1.點擊程序圖標

2.執行main函數

3.執行UIApplicationMain函數

4.創建UIApplication對象、UIApplicationdelegate對象

5.開啓事件循環監聽系統事件

6.程序加載完畢後調用delegate對象的application:didFinishLaunchingWithOptions:方法

1>創建窗口對象

self.viewController = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen]bounds]];

2>創建控制器對象

self.viewController = [[MJViewController alloc] initWithNibName:@"MJViewController" bundle:nil];

3>設置窗口的根控制器

self.window.rootViewController =self.viewController;

/*

 1.控制器MJViewControllerview是延遲加載的

 2.用到view時,就會調用控制器的loadView方法加載view

 3.loadView加載view的默認過程(UIViewController的默認實現)

 1> 如果nibName有值,就會加載對應的xib文件來創建view

 2> 如果nibName沒有值

 1) 優先加載MJView.xib文件來創建view

 2) 加載MJViewController.xib文件來創建view

 3) 如果沒有找到上面所述的xib文件,就會用代碼創建一個黑色的view

 */

4>讓窗口成爲主窗口、並且可見

[self.window makeKeyAndVisible];


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章