RunLoop:運行循環(huán)(死循環(huán))
argc表示命令參數的個數依鸥,argv是可執(zhí)行文件的路徑。
UIApplicationMain方法的第三個參數用nil和"UIApplication"是一樣的,傳nil其實就相當于傳了"UIApplication"辞州,注冊系統(tǒng)App用的逃贝。第四個參數代表app的代理蝙泼。
在UIApplicationMain里開啟RunLoop程剥,目的保證程序不退出和負責監(jiān)聽事件(觸摸事件,時鐘事件汤踏,網絡事件),如果沒有事件進入休眠狀態(tài)(節(jié)約性能).
NSRunLoop五種模式(每個Mode又包含若干個Source/Timer/Observer):
1:NSDefaultRunLoopMode(默認模式:蘋果建議放時鐘和網絡事件)
2:UITrackingRunLoopMode(UI模式:只能被觸摸事件喚醒)
3:NSRunLoopCommonModes(占位模式:并不是一個真正的RunLoop模式织鲸,相當于默認模式和UI模式兩種的組合)
4:UIInitializationRunLoopMode(啟動模式:剛啟動 App 時第進入的第一個 Mode,啟動完成后就不再使用)
5:GSEventReceiveRunLoopMode(接受系統(tǒng)事件的內部 Mode溪胶,通常用不到)