一個應用程序入口;
[UIApplication sharedApplication]; 獲得對象
應用級別的操作:
1) 設置應用程序圖標右上角的氣泡數字;
[UIApplication sharedApplication].applicationIconBadgeNumber = 10;
2) 設置網絡指示器:
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
3) 設置狀態欄:
iOS 7開始提供兩種管理狀態欄的方式:
1> UIApplication管理:
info.plist中設置View controller-based status bar appearance 為NO;
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
2> 控制器中管理:
- (BOOL)prefersStatusBarHidden
{
return NO;
}
- (UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}
4) openURL:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://10086"]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://10086"]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://iosshiyulong@yeah.net"]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://www.baidu.com"]];
URL:統一資源定位符,用來唯一的表示一個資源;
URL格式: 協議頭://主機地址/資源路徑
網絡資源:http/ftp;
本地資源:file:///users/apple/desktop/log.png
UIApplication Delegate:委托處理應用程序各種環境下的系統事件;
啟動完畢的回調方法:- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;
進入后臺的回調方法:- (void)applicationDidEnterBackground:(UIApplication *)application;
內存警告的回調方法:- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application;
main函數:
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
int main(int argc, char * argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
argc:系統或者用戶傳入的參數個數;
argv:系統或者用戶傳入的實際參數;
1> 根據傳入的第三個參數創建UIApplication對象;
2> 根據傳入的第四個產生創建UIApplication對象的代理;
3> 設置剛剛創建出來的代理對象為UIApplication的代理;
4> 開啟一個事件循環;
程序啟動的完整過程:
1> main函數;
2> UIApplicationMain:創建UIApplication對象;創建UIApplication的delegate對象;
3> delegate對象開始處理(監聽)系統事件:
A : 沒有storyboard
程序啟動完畢的時候,就會調用代理的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;方法;
在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;方法中創建UIWindow對象;
創建和設置UIWindow的rootViewController;
顯示窗口;
B : 有storyboard
創建UIWindow;
創建和設置UIWindow的rootViewController;
顯示窗口;