Xcode 中iOS工程模版: 1.Application類型: Master-detail Application. 可以構建樹形結構導航模式應用,生成的代碼中包含了導航控制器和表示圖控制器。(表示圖控制器指的是導航控制器里的界面); Game. 構建基於iOS的游戲應用; Page-Based ...
Xcode 中iOS工程模版:
1.Application類型:
- Master-detail Application. 可以構建樹形結構導航模式應用,生成的代碼中包含了導航控制器和表示圖控制器。(表示圖控制器指的是導航控制器里的界面);
- Game. 構建基於iOS的游戲應用;
- Page-Based Application. 平鋪導航,類似於電子書效果;
- Tabbed Applecation. 構建標簽導航模式應用,生成的代碼中包含了標簽控制器和標簽欄。
- Single View Application. 構建簡單的單個視圖應用。
2.Framework & Library類型
- Cocoa Touch Framework:自定義應用於UIKit框架;
- Cocoa Touch Library:可創建基於Foundation框架的靜態庫;
3.Other類型
- 可構建應用內購買內容包盒空工程——內置收費功能的應用。
新建工程中的主要組分:AppDelegate和ViewController
- AppDelegate:繼承UIResponder類,並實現UIApplicationDelegate委托協議;是應用程式的委托對象,在這個類中繼承的一系列方法在應用生命周期的不同階段會被回調。
應用周期:
a.程式的生命周期是指應用程式啟動到應用程式結束整個階段的全過程
b.每一個IOS應用程式都包含一個UIApplication對象,IOS系統通過該UIApplication對象監控應用程式生命周期全過程
c.每一個IOS應用程式都要為其UIApplication對象指定一個代理對象,並由該代理對象處理UIApplication對象監測到的應用程式生命周期事件。
- ViewController:視圖控制器類,在工程中就是根視圖和用戶事件控制類。
iOS應用的5種狀態:
- Not Running (非運行狀態)。應用沒有運行或被系統終止。
- Inactive(前臺非活動狀態)。應用正在進入前臺狀態,但還不能接收事件處理。
- Active(前臺活動狀態)。應用進入前臺狀態,能接收事件處理。
- Background(後臺狀態)。應用進入後臺狀態,依然能夠執行代碼。如果有可執行的代碼,則執行代碼,若沒有活著執行完畢,會進入掛起狀態。
- Suspended(掛起狀態)。處於此狀態,應用將不執行代碼。若記憶體不足,應用會被終止。
iOS運行狀態的模擬調用:
- 點擊應用圖標時,應用啟動:Not Running-->Inactive-->Active
- Not Running-->Inactive: 調用application:didFinishLaunchingWithOptions:方法 發出UIApplicationDidFinishLaunchingNotification通知。
- Inactive-->Active: 調用applicationDidBecomeActive:方法 發出UIApplicationDidBecomeActiveNotification通知。
2. 應用處於運行狀態,點擊Home鍵或者其他的應用導致當前應用中斷:(根據產品屬性文件中的相關屬性Application does not run in background 是與否 控制兩種狀態)
1>可以在後臺運行或者掛起: Active-->Inactive-->Background-->Suspended
- Active-->Inactive: 調用applicationWillResignActive: 方法,發出UIApplicationWillResignActiveNotification通知。
- Inactive-->Background: 應用在非活動狀態進入後臺。
- Background-->Suspended:調用applicationDidEnterBackground:方法 發出UIApplicationDidEnterBackgroundNotification通知。
2>不可以在後臺運行或掛起:Active-->Inactive-->Background-->Suspended-->Not running
- Active-->Inactive:見上
- Inactive-->Background:應用在非活動狀態進入後臺。
- Background-->Suspended:調用applicationDidEnterBackground:方法 發出UIApplicationDidEnterBackgroundNotification通知。
- Suspended-->Not running:調用applicationWillTerminate:方法 發出UIApplicationWillTerminateNotification通知。
3. 記憶體清理--應用終止場景
- 應用在後臺處理完進入到掛起狀態(一種休眠狀態),如果這是發現記憶體不足,為了滿足其他應用對記憶體的需要,該應用會被清除記憶體從而終止運行。
- Background-->Suspended-->Not running
視圖生命周期:
視圖創建------>viewDidLoad:
------->viewWillAppear:
視圖可見
------->viewDidAppear:
------->viewWillDisappear:
視圖不可見
------->viewDidDisappear:
------->didReceiveMemoryWarning:
系統記憶體低
------->viewDidUnload: