【iOS知識學習】_iOS FrameWork相關知識

框架是一個目錄,包含了共享資源庫,用於訪問該資源庫中儲存的代碼的頭文件,以及圖像、聲音文件等其他資源。共享資源庫定義應用程序可以調用的函數和方法。

iOS 提供了許多可在應用程序開發中使用的框架。要使用一個框架,請將它添加到項目,以便應用程序可以鏈接到它。大多數應用程序都鏈接到 Foundation、UIKit 和 Core Graphics 框架。根據您爲應用程序選取的模板,可能也包括其他框架。如果一組核心框架無法滿足應用程序的要求,您總是可以將其他框架添加到項目。

每個框架都屬於 iOS 系統的一個層。每個層都建立在它的下層之上。儘可能使用較高級的框架,而非較低級的框架。較高級的框架向較低級的結構提供面向對象的抽象。

在iOS的開發中,框架結構如下圖:


從圖中可以看出,Foundation和UIKit是iOS開發的核心框架,因爲他能滿足大多數應用程序開發的需求。

Foundation 框架爲所有應用程序提供基本的系統服務

您的應用程序以及 UIKit 和其他框架,都建立在 Foundation 框架的基礎結構之上。Foundation 框架提供許多基本的對象類和數據類型,使其成爲應用程序開發的基礎。它還制定了一些約定(用於取消分配等任務),使您的代碼更加一致,可再用性更好。

使用 Foundation:

  • 創建和管理集,如數組和字典

  • 訪問儲存在應用程序中的圖像和其他資源

  • 創建和管理字符串

  • 發佈和觀察通知

  • 創建日期和時間對象

  • 自動發現 IP 網絡上的設備

  • 操控 URL 流

  • 異步執行代碼

UIKit 框架提供的類,可用於創建基於觸摸的用戶界面

所有 iOS 應用程序都基於 UIKit。沒有這個框架,就無法交付應用程序。UIKit 提供基礎結構,用於在屏幕上繪圖、處理事件,以及創建通用用戶界面元素。UIKit 還通過管理屏幕上顯示的內容,來組織複雜的應用程序。

使用 UIKit:

  • 構建和管理用戶界面

  • 處理基於觸摸和運動的事件

  • 顯示文本和網頁內容

  • 優化應用程序以實現多任務

  • 創建自定用戶界面元素

當然其他的類也很重要,需要我們花更多的時間來學習:

Core Data 框架管理應用程序的數據模型

Core Data 管理對象圖。藉助 Core Data,您可以創建模型對象(稱爲被管理的對象)。您管理那些對象之間的關係,並通過框架更改數據。Core Data 利用內建的 SQLite 技術,高效地儲存和管理數據。

使用 Core Data:

  • 存儲對象和從儲存處取回對象

  • 支持基本的撤銷/重做

  • 自動驗證屬性值

  • 對內存中的數據進行過濾、分組和整理

  • 使用 NSFetchedResultsController 管理表格視圖中的結果

  • 支持基於文稿的應用程序

Core Graphics 框架幫助您創建圖形

高質量的圖形,是所有 iOS 應用程序的一個重要組成部分。在 iOS 中創建圖形的最簡易便捷方法,是將預渲染的圖像與 UIKit 框架的標準視圖和控制配合使用,並讓 iOS 完成繪圖。UIKit 還提供用於自定繪圖的類,包括路徑、顏色、圖案、漸變、圖像、文本和變換。儘可能地使用 UIKit(較高級的框架),而非 Core Graphics(較低級的框架)。

當您想要編寫在 iOS 和 OS X 之間直接共享的繪圖代碼時,使用 Core Graphics。Core Graphics 框架也稱爲 Quartz,它在這兩個平臺上幾乎相同。

使用 Core Graphics:

  • 製作基於路徑的繪圖

  • 使用邊緣模糊化渲染

  • 添加漸變、圖像和顏色

  • 使用座標空間變換

  • 創建、顯示和解析 PDF 文稿

Core Animation 可讓您製作高級動畫和視覺效果

UIKit 提供的動畫,是建立在 Core Animation 技術之上的。如果您需要超出 UIKit 功能的高級動畫,可以直接使用 Core Animation。Core Animation 接口包含在 Quartz Core 框架中。藉助 Core Animation,您創建不同層次的層對象,並對它們進行操控、旋轉、縮放、變換等等。通過使用大家所熟悉的 Core Animation 視圖式抽象,您可以創建動態用戶界面,而無需使用低級的圖形 API,如 OpenGL ES 等。

使用 Core Animation:

  • 創建自定動畫

  • 給圖形添加時序功能

  • 支持關鍵幀動畫

  • 指定圖形佈局約束

  • 將多層更改分組爲原子更新

OpenGL ES 框架提供 2D 和 3D 繪圖工具

OpenGL ES 支持基礎的 2D 和 3D 繪圖。Apple 實施的 OpenGL ES 標準,與設備硬件緊密協作,爲全屏幕遊戲類應用程序提供很高的幀速率。

使用 OpenGL ES:

  • 創建 2D 和 3D 圖形

  • 製作更復雜的圖形,如數據可視化、飛行模擬或視頻遊戲。

  • 訪問底層圖形硬件

詳細信息請參考蘋果開發者文檔:

https://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/CocoaFundamentals/WhatIsCocoa/WhatIsCocoa.html#//apple_ref/doc/uid/TP40002974-CH3-SW16




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章