ios主要架構介紹

來源:互聯網
上載者:User

ios主要架構介紹
架構是一個目錄,這個目錄包含了共用庫,訪問共用庫裡代碼的標頭檔,和其它的圖片和聲音的資源檔。一個共用庫定義的方法或函數可以被應用程式調用。        IOS提供了很多你可以在應用程式裡調用的架構。要使用一個架構,需要將它添加到你的項目中,你的項目才可以使用它。許多應用程式都使用了如 Foundation、UIKit、和Core Graphics這些架構。根據你為應用程式選擇的模版,相關的架構就已經被自動引入了。如果預設加入的架構不能滿足你的應用程式的需求,你也可以加入需 要的架構。          看看HelloWorld.xcodeproj項目裡都包含了哪些架構(註:HelloWorld.xcodeproj是《 tutorial 》這篇教程裡的一個項目)        1.在XCode裡開啟HelloWorld.xcodeproj項目(如果還沒有開啟)        2. 在project navigator視窗裡點擊,點擊Frameworks目錄前面的三角形表徵圖。你會看到:             UIKit.framework,Foundation.framework, 和CoreGraphics.framework        3. 點擊任意一個framework前面的三角,然後再點擊Headers前面的三角,可以看到架構裡的標頭檔。           每個架構對應IOS系統裡的一層,每層建立在它下面層的上面。應該盡量使用上層的架構來代替下面的架構。更高層次的架構是對底層架構基於對象的抽象。     iOS應用程式基底於Foundation和UIKit架構         在你開發程式時,主要使用架構就是Foundation和UIKit,因為它們包含了你需要的大部分東西。 Foundation架構為所有的應用程式提供基本系統服務        你的應用程式,UIKit和其它的架構都是建立在Foundation架構上面的。Foundation架構是用Object-C對Core Foundation架構裡許多特性的封裝。        使用Foundation可以:   建立和管理集合,比如數組和字典訪問儲存在應用程式裡的圖片和其它資源建立和管理字串提交和接收通知建立日期和時間對象自動探索IP網路上的裝置操作URL流執行非同步代碼      你已經在《Your First iOS App》裡使用到了Foundation架構。比如,你使用一個NSString類的執行個體儲存使用者輸入的userName。你還使用了Foundation架構的initWithFormat方法建立了一個字串。 UIKit架構提供建立基於觸摸使用者介面的類       所有的iOS應用程式都基於UIKit,你不能是應用程式脫離這個架構。UIKit提供了在螢幕上繪製的機制,捕獲事件,和建立通用使用者介面元素。UIKit也通過管理顯示在螢幕上的組件來組織複雜的項目。       使用UIKit可以: 構建和管理你的使用者介面捕獲觸摸和基於移動的事件呈現文字和web內容最佳化你的多任務程式建立定製的使用者介面元素     在《YouFirst iOS App Tutorial》裡,你也使用到了UIKit。當你仔細查看程式是怎麼運行起來的時候,你會看到UIApplicationMain函數建立一個 UIApplication類的執行個體,這個執行個體會捕獲進來的使用者事件。你實現UITextFieldDelegate協議,然後在使用者按下Done時隱藏 鍵盤。實際上,你是在使用UIKit建立使用者介面上的UITextField, UILabel,和UIButton類。 你需要知道的其它重要的架構 Core Data , Core Graphics, Core Animation,和OpenGLES架構都是進階的技術。所以這些架構對於你開發應用程式也是很重要的,它們都需要時間去學習和掌握。    Core Data架構管著理應用程式資料模型           Core Data提供對象的管理,使用Core Data,你可以建立模型對象,並管理這些對象。你管理這這些對象間的聯絡並修改資料。Core Data提供的內建SQLlite技術可以高效的管理資料。          使用Core Data可以:   在庫裡儲存和接收對象提供基本的undo/redo自動驗證屬性值過濾、分組和最佳化記憶體中的資料用[NSFetchedResultsController]管理表視圖中的結果支援基於文檔的應用程式    Core Graphics架構協助你建立圖形         高品質的圖形對於所有的iOS應用程式都是很重要的。在iOS中最簡單且最快捷的建立圖形的方式是使用UIKit架構提供的基於預渲染圖形的視圖和控 件,然後讓UIKit和iOS完成繪製。但是當你需要建立複雜的圖形時,Core Graphics則提供了更底層的庫來協助你。        使用Core Graphics可以:     建立基於路徑的繪圖消除鋸齒渲染添加梯度、圖片和顏色Use coordinate-space transformations.建立、顯示和分析PDF文檔    Core Animation允許你建立進階的動畫和虛擬效果             UIKit提供建立在Core Animation之上的動畫。如果你需要比UIKit能力更進階的功能,可以直接使用Core Animation。Core Animation介面包含在Quartz Core架構裡。使用Core Animation可以建立嵌套的對象,並且可以對它們操作、旋轉、縮放和轉換。使用Core animation,你可以建立動態使用者介面而不用使用更底層的圖形API,如OpenGL ES。            使用Core Animation可以:   建立定製動畫添加定時函數和圖形支援幀動畫Specify graphical layout constraints.Group multiple-layer changes into anatomic update.  OpenGL ES 架構提供2D和3D繪圖工具OpenGL ES支援2D和3D繪圖,Apple的OpenGL ES實現通過硬體提供了高速的全屏遊戲式的應用程式。            使用OpenGL ES可以:   建立2D和3D圖形建立更複雜的圖形,比如資料虛擬化、類比飛行,或者視頻遊戲訪問底層圖形裝置  根據需要向項目中添加其它架構           還有許多架構可以添加到你的程式裡。當你決定使用一個架構但項目裡卻沒有引入這個架構時,你就需要將它加入到你的項目裡。      將別的架構添加到工程裡      1 開啟工程     2 點擊項目名,顯示project editor     3 在TARGETS列表中選中要添加架構的工程     4 點擊project editor頂部的Build Phases     5 點擊Link Binary With Libraries前面的三角形開啟這個分組     6 通過點擊添加(+)來添加一個架構     7 在列表中選擇一個架構,然後點擊Add按鈕    表 1  裝置中的架構名稱最先引入首碼描述 Accelerate.framework4.0 cblas,vDSP包含加速數學和DSP函數。 請查看 加速架構參考 。 AddressBook.framework2.0 AB包含直接存取使用者連絡人資料庫的函數。請查看地址簿架構參考。 AddressBookUI.framework2.0 AB包含顯示系統定義的連絡人挑選介面和編輯介面的類。請查看iOS地址簿UI架構參考 。 AssetsLibrary.framework4.0 AL包含顯示使用者照片和視頻的類,請查看資產庫架構參考 。 AudioToolbox.framework2.0 AU,Audio包含處理音頻流資料以及播放或錄製音訊介面。請查看音頻工具箱架構參考。 AudioUnit.framework2.0 AU,Audio包含載入並使用音頻單元的介面。請查看音頻單元架構參考. AVFoundation.framework2.2 AV包含播放或錄製音訊Objective-C介面。請查看AV Foundation架構參考.。 CFNetwork.framework2.0 CF包含通過WiFi或者蜂窩無線訪問網路的介面。請查看CFNetwork架構參考。 CoreAudio.framework2.0 Audio包含Core Audio架構使用的各種資料類型。請查看Core Audio 架構參考 。 CoreData.framework3.0 NS包含管理應用程式資料模型的介面。請查看Core Data 架構參考 。 CoreFoundation.framework2.0 CF提供一些基本軟體服務,包括常見資料類型抽象、字串工具 + 生產力、群體類型工具 + 生產力、資源管理以及喜好設定。請查看rovCore Foundation架構參考。 CoreGraphics.framework2.0 CG包含Quartz 2D介面。請查看Core Graphics 架構參考 。 CoreLocation.framework2.0 CL包含確定使用者方位資訊的介面。請查看Core Location 架構參考。 CoreMedia.framework4.0 CM包含操作音頻和視頻的底層常式。請查看Core Media 架構參考。 CoreMotion.framework4.0 CM包含訪問加速度計以及陀螺儀的資料的介面。請查看Core Motion 架構參考。 CoreTelephony.framework4.0 CT包含訪問電話相關的資訊的常式。請查看Core Telephony 架構參考。 CoreText.framework3.2 CT包含一個文本的布局渲染引擎。請查看Core Text參考集.。 CoreVideo.framework4.0 CV包含操作音頻和視頻的底層常式。請不要直接使用該架構。 EventKit.framework4.0 EK包含訪問使用者日曆事件數目據的介面。請查看Event Kit 架構參考。 EventKitUI.framework4.0 EK包含顯示標準系統日曆介面的類。請查看Event Kit 使用者介面架構參考。 ExternalAccessory.framework3.0 EA包含與外設進行通訊的介面。請查看External Accessory 架構參考。 Foundation.framework2.0 NS包含Cocoa Foundation層的類和方法。請查看Foundation 架構參考。 GameKit.framework3.0 GK包含點對點連接管理介面。請查看Game Kit 架構參考。 iAd.framework4.0 AD包含在應用程式中顯示廣告的類。請查看iAd 架構參考。 ImageIO.framework4.0 CG包含讀取或寫入映像資料的類。請查看Image I/O 參考集。 IOKit.framework2.0N/A包含裝置所使用的介面。請不要直接使用此架構。 MapKit.framework3.0 MK包含將地圖介面嵌入到應用程式的類,也可以用於尋找地理編碼反向座標。請查看Map Kit架構參考。 MediaPlayer.framework2.0 MP包含顯示全屏視頻的介面。請查看Media Player 架構參考。 MessageUI.framework3.0 MF包含撰寫和排隊寄送電子郵件資訊的介面。請查看Message 使用者介面架構參考。 MobileCoreServices.framework3.0 UT定義系統支援的統一類型標識符(UTIs)。 OpenAL.framework2.0 AL包含OpenAL介面。OpenAL是一個跨平台的方位音頻庫。如需進一步瞭解,請訪問http://www.openal.org。 OpenGLES.framework2.0 EAGL,GL包含OpenGL ES介面。OpenGL ES架構是OpenGL跨平台2D和3D渲染庫的跨平台版本。請查看OpenGL ES 架構參考。 QuartzCore.framework2.0 CA包含Core Animation介面。請查看Quartz Core 架構參考。 QuickLook.framework4.0 QL包含預覽檔案介面。請查看Quick Look 架構參考。 Security.framework2.0 CSSM,Sec包含管理憑證、公開金鑰私密金鑰以及信任策略的介面。請查看Security架構參考。 StoreKit.framework3.0 SK包含用於處理與應用程式內購買相關的財務交易。請查看 Store Kit 架構參考。 SystemConfiguration.framework2.0 SC包含用於處理裝置網路設定的介面。請查看System Configuration架構參考。 UIKit.framework2.0 UI包含iOS應用程式使用者介面層使用的類和方法。請查看UIKit 架構參考。 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.