1.時機 用戶點擊home 鍵 應用退到后台 再次點擊進入前台 在UIViewController里面 控制器如何獲取相關的事件?
2.需求
(1)NSTimer 在應用程序進入后台 10秒至10分鍾會停止(10分鍾左右一般應用也會被kill) 但是只要在后台這個nstimer 運行 就是邋遢的 所以我想停止它 在應用進入后台的時候
(2)程序支持后台下載,當用戶停止在下載管理界面時,然后用戶點擊home鍵使程序進入后台運行,等用戶返回到程序時,下載管理界面需要顯示最新的下載進度。(需要長時間處理 需要開啟后台服務,這里 我們只講UIViewController 里的兩個事件)
3.實現
這里使用通知實現(這兩個方法 是監控全局的 所以 要執行方法 還要判斷是不是在當前的視圖控制器中,判斷方法在接下來的隨筆中實現)
//增加監聽 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appHasGoneInForeground:) name:UIApplicationWillEnterForegroundNotification object:nil]; //別忘了刪除監聽 [[NSNotificationCenter defaultCenter] removeObserver:self];
UIApplicationDidEnterBackgroundNotification //進入后台 UIApplicationWillEnterForegroundNotification //回到程序
很方便是不是 ,之前我還傻乎乎的在AppDelegate里面 判斷好多條件去刷頁面,現在想來,那會我真是個屌絲,哈哈