以前您已瞭解瞭如何編寫一個具備簡單用戶界面和基本行爲的應用程序。如今您或許在考慮實現更多的行爲,使項目成爲一款功能完備的應用程序。 html
在思考要添加哪些功能以前,謹記一條:您無需一切從頭開始。iOS 提供了定義特殊功能集的框架,從遊戲、媒體到密保和數據管理,每樣都可以整合到您的應用程序中。您已使用 UIKit 框架來設計應用程序的用戶界面,並使用 Foundation 框架將常見數據結構和行爲歸併到代碼。這是 iOS 應用程序開發中兩個最經常使用的框架,而您能使用的遠不止這些。 ios
本章節大體概述了可能在應用程序中採用的技術和框架。您不妨將本章節當作探索可行技術的起點。有關 iOS 中可用技術的完整概述,請參閱《iOS Technology Overview》(iOS 技術概述)。 編程
iOS 具備許多框架和技術,用於建立和潤色應用程序的用戶界面。 數據結構
UIKit。 app
UIKit 框架提供的類可用於建立觸摸式用戶界面。全部 iOS 應用程序都基於 UIKit,所以您沒法在沒有框架的狀況下交付應用程序。UIKit 提供基礎結構,用於在屏幕上繪圖、處理事件,以及建立通用用戶界面元素。經過管理屏幕上顯示的內容,UIKit 還能組織複雜的應用程序。有關更多信息,請參閱《UIKit Framework Reference》(UIKit 框架參考)。 框架
Core Graphics。 ide
Core Graphics 是一種基於 C 語言的低層次框架,在處理高品質矢量圖形、基於路徑的繪圖、變換、圖像和數據管理等方面,它將是您的得力助手。固然,在 iOS 中建立圖形,最簡而有效的方法是將預渲染的圖像與 UIKit 框架的標準視圖和控制配合使用,並讓 iOS 完成繪圖。畢竟,UIKit 是一種高層次的框架,它同時還提供用於自定繪圖的類,包括路徑、顏色、圖案、漸變、圖像、文本和變換,請儘量地使用它們來代替 Core Graphics。有關更多信息,請參閱《Core Graphics Framework Reference》(Core Graphics 框架參考)。 工具
Core Animation。 性能
Core Animation 是一種能讓您製做高級動畫和視覺效果的技術。UIKit 提供的動畫,是創建在 Core Animation 技術之上的。若是您須要超出 UIKit 功能的高級動畫,能夠直接使用 Core Animation。Core Animation 接口包含在 Quartz Core 框架中。藉助 Core Animation,您將能建立不一樣層次的層對象,並對它們進行操控、旋轉、縮放、變換等等。經過使用你們所熟悉的 Core Animation 視圖式抽象,您能夠建立動態用戶界面,而無需使用底層的圖形 API,如 OpenGL ES 等。有關更多信息,請參閱《Core Animation Programming Guide》(Core Graphics 框架參考)。 學習
在開發 iOS 遊戲時,您須要嘗試多種技術。
Game Kit。
Game Kit 框架提供了排行榜、成就和其餘功能,可添加到 iOS 遊戲中。有關更多信息,請參閱《GameKit Framework Reference》(Game Kit 框架參考)。
Sprite Kit。
Sprite Kit 框架在使任意紋理圖像或角色產 生動畫效果方面提供圖形支持。它不只是一臺圖形引擎,還能提供物理支持使對象變得更加生動。對於遊戲和其餘要求複雜動畫鏈的應用程序,Sprite Kit 不失爲一個好的選擇。(其餘類型的用戶界面動畫,則可以使用 Core Animation 代爲處理。)有關更多信息,請參閱《SpriteKit Programming Guide》(Sprite Kit 編程指南)。
OpenGL ES。
OpenGL ES 是一種底層框架,它爲硬件加速的 2D 和 3D 繪圖提供工具支持。Apple 實施的 OpenGL ES 標準,能與設備硬件緊密協做,從而爲全屏幕遊戲類應用程序提供很高的幀速率。OpenGL ES 是一種底層的、專一於硬件的 API,所以具備較高的學習難度,並將對您的應用程序的總體設計產生顯著影響。(對於要求高性能圖形以用於更多特定用途的應用程序,請考慮使用 Sprite Kit 或 Core Animation。)有關更多信息,請參閱《OpenGL ES Programming Guide for iOS》(iOS 的 OpenGL ES 編程指南)。
Game Controller。
Game Controller 框架能讓您快速找到接入 Mac 或 iOS 設備的控制器。在設備上找到控制器後,您的遊戲會將控制輸入讀取爲正常遊戲設置的一部分。這些控制器爲玩家操做遊戲提供了新的方式。Apple 具備爲硬件控制器專設的技術規格,以確保控制器的控制元素類別一致,玩家和遊戲設計者們都可以此爲依據。有關更多信息,請參閱《Game Controller Framework Reference》(Game Controller 框架參考)。
處理應用程序數據時,請思考現有框架中有哪些可用的功能。
Core Data。
Core Data 框架管理應用程序的數據模型。藉助 Core Data,您能夠建立模型對象(稱爲被管理的對象)。管理那些對象之間的關係,並經過框架更改數據。Core Data 利用內建的 SQLite 技術,高效地儲存和管理數據。有關更多信息,請參閱《Core Data Framework Reference》(Core Data 框架參考)。
Foundation。
您已在本指南的前文中接觸過 Foundation。Foundation 框架定義了 Objective-C 類的最底層。除了提供一組基本且實用的對象類,本框架還介紹了數個範例來闡明 Objective-C 語言中未涉及的行爲。與其餘框架相比,本框架包括了表示基本數據類型的類(如字串和數字),以及用於儲存其餘對象的集類。有關更多信息,請參閱《Foundation Framework Reference》(Foundation 框架參考)。
Media 框架提供多種功能,用於處理應用程序中的音頻和視頻。
AV Foundation。
AV Foundation 可用於播放和建立基於時間的音頻視覺媒體,是數個具備該功能框架中的一個。例如,您可使用 AV Foundation 來檢查、建立、編輯媒體文件,或對其進行從新編碼。您還能夠經過它獲取設備的輸入流,以及在實時捕捉和回放過程當中處理視頻。有關更多信息,請參閱《AV Foundation Framework Reference》(AV Foundation 框架參考)。