前言
每個(gè)iOS程序都會(huì)有一個(gè)AppDelegate的類,這個(gè)類就是一個(gè)代理類,我們新建一個(gè)Project的時(shí)候,里面都會(huì)帶有這個(gè)類。現(xiàn)在就讓我們看看這個(gè)類。
開始介紹
對(duì)于AppDelegate,它的父類是UIResponder,然后實(shí)現(xiàn)了UIApplicationDelegate協(xié)議,這里的方法多是協(xié)議里面的方法,先看看默認(rèn)的都有哪些方法。
1 application:didFinishLaunchingWithOptions:
它帶參是這樣的:
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. return YES;
}
-
先看一下它的注釋:在應(yīng)用程序啟動(dòng)后,重寫自定義點(diǎn)。這個(gè)是最直接的解釋,一般在這里面,我做的操作如下:
-
不用故事板,自定義rootview
-
使用其他三方類庫(kù)的時(shí)候在里面做一些初始化操作什么的。
-
不用故事板,自定義rootview
-
參數(shù)
| 參數(shù)| 描述|
|-------------|----------------------------------------|
|application|你的app對(duì)象|
|launchOptions|一個(gè)指示app啟動(dòng)原因的字典(如果有)。這個(gè)字典也可能是空的在用戶直接點(diǎn)擊圖標(biāo)啟動(dòng)的情況下。例如當(dāng)程序關(guān)閉,并且有推送消息過來(lái)的時(shí)候,通過點(diǎn)擊推送打開app這個(gè)字典就包含推送過來(lái)的消息內(nèi)容| -
返回值
如果app不能處理URL資源或者繼續(xù)用戶活動(dòng),就會(huì)返回NO,否則返回YES。如果app是通過遠(yuǎn)程推送啟動(dòng)的,那么這個(gè)返回值會(huì)被忽略。 -
討論
使用這個(gè)方法(包括與其相關(guān)的application: willFinishLaunchingWithOptions: )用于完成app的初始化和一些微調(diào)。這個(gè)方法在狀態(tài)復(fù)位的時(shí)候調(diào)用,但是發(fā)生在app的window和其他UI展現(xiàn)之前。在某些情況下,當(dāng)這個(gè)方法返回值之后,系統(tǒng)會(huì)調(diào)用其他的代理方法。(當(dāng)用戶進(jìn)入前臺(tái)狀態(tài)或者后臺(tái)狀態(tài)的情況)。
如果你沒有在application: willFinishLaunchingWithOptions: 中處理la