自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

解析Core Services 層

移動開發(fā) iOS
本文介紹的是解析Core Services,從多個框架來介紹本篇文章內(nèi)容,先來看本文詳細(xì)介紹,

解析Core Services 層是本文要介紹的內(nèi)容,從多個方面來介紹本篇文章內(nèi)容,先來看本文詳細(xì)介紹。Core Services層為所有的應(yīng)用程序提供基礎(chǔ)系統(tǒng)服務(wù)??赡軕?yīng)用程序并不直接使用這些服務(wù),但它們是系統(tǒng)很多部分賴以建構(gòu)的基礎(chǔ)。

高階特性

下面的部分描述一些比較常見特性,也許您正打算讓您的應(yīng)用程序支持這些特性。

塊對象

iOS 4.0引入了塊對象。塊對象是C級別的構(gòu)造,您可以在C或Objective-C代碼中使用快對象。從本質(zhì)上說,塊對象本質(zhì)上是一個匿名函數(shù)加上該函數(shù)的伴隨數(shù)據(jù)。有些時候,其他語言也稱塊對象為 closure或者lambda。塊對象非常適用于回調(diào)函數(shù)。如果您需要有很便捷的方法將執(zhí)行代碼和相關(guān)數(shù)據(jù)組合在一起,塊對象也是很好的選擇。

在 iOS系統(tǒng)中,塊對象通常用于下述場合:

作為委托或委托方法的替代品。

作為回調(diào)函數(shù)的替代品。

用于實(shí)現(xiàn)一次性操作的完成處理器。

簡化在群體所有子項(xiàng)上迭代執(zhí)行某種任務(wù)的操作。

配合分發(fā)隊(duì)列??捎糜趫?zhí)行異步任務(wù)。

如需了解塊對象及其使用方式,請查看塊對象簡短實(shí)踐指南 。如需進(jìn)一步了解塊對象, 請查看塊對象編程論述 。

Grand Central Dispatch

iOS 4.0引入了 Grand Central Dispatch (GCD),它是BSD級別的技術(shù),可用于在應(yīng)用程序內(nèi)管理多個任務(wù)的執(zhí)行。GCD技術(shù)將異步編程模型和高度優(yōu)化內(nèi)核結(jié)合在一起,可作為多線程的便捷(且更高效)替代。同時,它也為許多種底層任務(wù)( 例如讀寫文件描述符、實(shí)現(xiàn)定時器、監(jiān)視信號和處理事件等)提供替代方案。

如需進(jìn)一步了解在應(yīng)用程序內(nèi)使用GCD的方式,請查看并發(fā)編程指南 。如果需要了解特定GCD函數(shù)的信息,請查看Grand Central Dispatch (GCD)參考 。

應(yīng)用程序內(nèi)購買(In App Purchase)

iOS 3.0引入了應(yīng)用程序內(nèi)購買功能。通過該功能,您可以在應(yīng)用程序內(nèi)出售內(nèi)容或服務(wù)。該功能使用Store Kit框架來實(shí)現(xiàn),它可以為使用iTunes賬戶進(jìn)行的財務(wù)交易的處理提供基礎(chǔ)支持,應(yīng)用程序只需處理用戶體驗(yàn)及待售內(nèi)容或服務(wù)的展現(xiàn)。

如果需要進(jìn)一步了解iOS如何支持應(yīng)用程序內(nèi)購買功能,請參考應(yīng)用程序內(nèi)購買編程指南 。如需進(jìn)一步了解 Store Kit框架,請參考“Store Kit框架” 。

定位服務(wù)

應(yīng)用程序可使用Core Location框架提供的接口追蹤用戶位置。此框架利用當(dāng)前可用的硬件無線電波(包括Wi-Fi、蜂窩無線或者GPS)定位用戶的當(dāng)前位置。應(yīng)用程序可以對框架提供的信息進(jìn)行裁剪,然后再將其發(fā)送給客戶, 或是用于實(shí)現(xiàn)某些特定功能。舉個例子,社交應(yīng)用程序允許您找到附近其他應(yīng)用程序用戶,然后再與之進(jìn)行通訊。

如需進(jìn)一步了解如何使用定位服務(wù),請閱讀方位感知編程指南 。如需進(jìn)一步了解Core Locatio框架,請閱讀“Core Location框架 ”。

SQLite

SQLite庫允許開發(fā)者將一個輕量級SQL數(shù)據(jù)庫嵌入到應(yīng)用程序,而且開發(fā)者不需要運(yùn)行獨(dú)立的遠(yuǎn)程數(shù)據(jù)庫服務(wù)器進(jìn)程。在此之后,開發(fā)者可以在應(yīng)用程序中創(chuàng)建本地數(shù)據(jù)庫文件,管理文件中的表和記錄。雖然SQLite數(shù)據(jù)庫出于通用目的而設(shè)計,但它還是針對數(shù)據(jù)庫記錄的快速訪問做過優(yōu)化。

用于訪問SQLite庫的頭文件位于

  1. <iOS_SDK> 
  2. /usr/include/sqlite3.h 

在該路徑中, <iOS_SDK>是Xcode安裝目錄中目標(biāo)SDK的路徑。如果需要更多如何使用SQLite的信息, 請訪問http://www.sqlite.org網(wǎng)站。

XML 支持

Foundation框架支持使用NSXMLParser類從XML文檔中解析元素,而libXML2庫則為操作XML內(nèi)容提供支持。 libXML2庫是開源的,它可以讓您快速地解析或?qū)懭肴我獾腦ML數(shù)據(jù),也可將XML內(nèi)容轉(zhuǎn)化為HTML文件。

用于訪問libXML2庫的頭文件位于 <iOS_SDK>/usr/include/libxml2/。

在該路徑中, <iOS_SDK>是Xcode安裝目錄中目標(biāo)SDK的路徑。如要更多l(xiāng)ibXML2的使用信息, 請訪問 http://xmlsoft.org/index.htm 網(wǎng)站。

Core Services 框架

下述部分描述Core Services層的框架以及這些框架提供的服務(wù)。

Address Book 框架

Address Book框架 (AddressBook.framework)支持編程訪問存儲于用戶設(shè)備中的聯(lián)系人信息。如果應(yīng)用程序使用到聯(lián)系人信息,則可通過該框架訪問并修改用戶聯(lián)系人數(shù)據(jù)庫的記錄。舉個例子,通過使用該框架,聊天程序可以獲取一個聯(lián)系人列表,利用此列表初始化聊天會話,并在聯(lián)系人視圖顯示列表的聯(lián)系人。

如果需要進(jìn)一步了解 Address Book框架的功能,請訪問Address Book 框架參考 。

CFNetwork 框架

CFNetwork框架 (CFNetwork.framework)提供一組高性能基于C語言的接口,它們?yōu)槭褂镁W(wǎng)絡(luò)協(xié)議提供面向?qū)ο蟪橄?。通過這些抽象,您可以對協(xié)議棧進(jìn)行更精細(xì)的控制,而且可以使用諸如 BSD socket這類底層結(jié)構(gòu)。您也可以通過該框架簡化諸如與FTP或HTTP服務(wù)器通訊以及DNS主機(jī)解析這類任務(wù)。下面列舉一些可以使用 CFNetwork框架執(zhí)行的任務(wù):

使用BSD sockets

使用SSL或TLS創(chuàng)建加密連接

解析DNS主機(jī)

使用HTTP,校驗(yàn)HTTP以及HTTPS服務(wù)器。

使用FTP服務(wù)器

發(fā)布、解析并瀏覽 Bonjour服務(wù)。

CFNetwork理論及實(shí)現(xiàn)都以 BSD socket為基礎(chǔ)。如需更多如何使用CFNetwork框架的信息, 請訪問CFNetwork編程指南以及CFNetwork框架參考。

Core Data 框架

iOS 3.0引入Core Data框架(CoreData.framework)。Core Data框架是一種管理模型-視圖-控制器應(yīng)用程序數(shù)據(jù)模型的技術(shù),它適用于數(shù)據(jù)模型已經(jīng)高度結(jié)構(gòu)化的應(yīng)用程序。通過此框架,您再也不需要通過編程定義數(shù)據(jù)結(jié)構(gòu),而是通過Xcode提供的圖形工具構(gòu)造一份代表數(shù)據(jù)模型的圖表。在程序運(yùn)行的時候,Core Data框架就會創(chuàng)建并管理數(shù)據(jù)模型的實(shí)例,同時還對外提供數(shù)據(jù)模型訪問接口。

通過Core Data管理應(yīng)用程序的數(shù)據(jù)模型,可以極大程度減少需編寫的代碼數(shù)量。除此之外,Core Data還具有下述特征:

將對象數(shù)據(jù)存儲在SQLite數(shù)據(jù)庫以獲得性能優(yōu)化。

提供NSFetchedResultsController類用于管理表視圖的數(shù)據(jù)。

管理undo/redo操作。

屬性值校驗(yàn)支持。

支持對數(shù)據(jù)變化進(jìn)行傳播,并且不會改變對象間的關(guān)聯(lián)。

支持對數(shù)據(jù)進(jìn)行歸類,過濾,并支持對內(nèi)存數(shù)據(jù)進(jìn)行管理。

如果您正在開發(fā)新應(yīng)用程序或打算對某個現(xiàn)有的程序進(jìn)行大幅度更新,請考慮使用Core Data。如果需要了解如何在iOS應(yīng)用程序中使用Core Data,請參考iOS Core Data 教程 。如果需要進(jìn)一步了解Core Data框架中的類,請參考Core Data框架參考 。

Core Foundation 框架

Core Foundation框架 (CoreFoundation.framework) 是一組C語言接口,它們?yōu)閕OS應(yīng)用程序提供基本數(shù)據(jù)管理和服務(wù)功能。下面列舉該框架支持進(jìn)行管理的數(shù)據(jù)以及可提供的服務(wù):

群體數(shù)據(jù)類型 (數(shù)組、集合等)

程序包

字符串管理

日期和時間管理

原始數(shù)據(jù)塊管理

偏好管理

URL及數(shù)據(jù)流操作

線程和RunLoop

端口和soket通訊

Core Foundation框架和Foundation框架緊密相關(guān),它們?yōu)橄嗤δ芴峁┙涌冢獸oundation框架提供Objective-C接口。如果您將Foundation對象和Core Foundation類型摻雜使用,則可利用兩個框架之間的 “toll-free bridging”。所謂的Toll-free bridging是說您可以在某個框架的方法或函數(shù)同時使用Core Foundatio和Foundation 框架中的某些類型。很多數(shù)據(jù)類型支持這一特性,其中包括群體和字符串?dāng)?shù)據(jù)類型。每個框架的類和類型描述都會對某個對象是否為 toll-free bridged,應(yīng)和什么對象橋接進(jìn)行說明。

如需進(jìn)一步信息,請閱讀Core Foundation 框架參考。

Core Location 框架

Core Location框架 (CoreLocation.framework)可用于定位某個設(shè)備當(dāng)前經(jīng)緯度。它可以利用設(shè)備具備的硬件,通過附近的GPS、蜂窩基站或者WiFi信號等信息計算用戶方位。Maps應(yīng)用程序就是利用此功能在地圖上顯示用戶當(dāng)前位置。您可以將此技術(shù)結(jié)合到應(yīng)用程序,以此向用戶提供方位信息。例如,應(yīng)用程序可根據(jù)用戶當(dāng)前位置搜索附近飯店、商店或其他設(shè)施 。

在iOS 3.0系統(tǒng)中,該框架開始支持訪問iOS設(shè)備(具有相應(yīng)硬件的設(shè)備)的方向信息。

在iOS 4.0系統(tǒng)中,該框架開始支持低能耗的方位監(jiān)視服務(wù),該服務(wù)利用蜂窩基站跟蹤用戶方位。

如需了解Core Location框架中的類,請參考Core Location 框架參考 。

Core Media 框架

iOS 4.0引入了Core Media框架 (CoreMedia.framework)。此框架提供AV Foundation框架使用的底層媒體類型。只有少數(shù)需要對音頻或視頻創(chuàng)建及展示進(jìn)行精確控制的應(yīng)用程序才會涉及該框架,其他大部分應(yīng)用程序應(yīng)該都用不上。

如需進(jìn)一步了解此框架的函數(shù)和數(shù)據(jù)類型,請閱讀Core Media 框架參考。

Core Telephony 框架

iOS 4.0引入了Core Telephony框架(CoreTelephony.framework)。此框架為訪問具有蜂窩無線的設(shè)備上的電話信息提供接口,應(yīng)用程序可通過它獲取用戶蜂窩無線服務(wù)的提供商信息。如果應(yīng)用程序?qū)τ陔娫捄艚懈信d趣,也可以在相應(yīng)事件發(fā)生時得到通知。

如需進(jìn)一步了解如何使用該框架的類和方法,請閱讀Core Telephony框架參考。

Event Kit 框架

iOS 4.0引入了 Event Kit框架 (EventKit.framework)。此框架為訪問用戶設(shè)備的日歷事件提供接口。您可以通過該框架訪問用戶日歷中現(xiàn)有事件,可以增加新事件。日歷事件可包含鬧鈴,而且可以配置鬧鈴激活規(guī)則。

如需進(jìn)一步了解如何使用該框架的類和方法,請閱讀Event Kit 框架參考 ,也可參考Event Kit UI 框架。

Foundation 框架

Foundation框架 (Foundation.framework)為 Core Foundation框架的許多功能提供Objective-C封裝。您可以參考Core Foundation框架了解前面對Core Foundation框架的描述。 Foundation框架為下述功能提供支持:

群體數(shù)據(jù)類型 (數(shù)組、集合等)

程序包

字符串管理

日期和時間管理

原始數(shù)據(jù)塊管理

偏好管理

URL及數(shù)據(jù)流操作

線程和RunLoop

Bonjour

通訊端口管理

國際化

正則表達(dá)式匹配

緩存支持

如需進(jìn)一步了解如何使用該框架的類和方法,請閱讀Foundation框架參考 。

Mobile Core Services 框架

iOS 3.0引入了Mobile Core Services框架 (MobileCoreServices.framework)。此框架定義統(tǒng)一類型標(biāo)識符 (UTIs)使用的底層類型。

如需進(jìn)一步了解此框架定義的類型,請查看統(tǒng)一類型標(biāo)識符參考 。

Quick Look 框架

iOS 4.0引入Quick Look框架(QuickLook.framework),應(yīng)用程序可以用過該框架預(yù)覽無法直接支持查看的文件內(nèi)容。如果應(yīng)用程序從網(wǎng)絡(luò)下載文件或者需處理來源未知的文件,則非常適合使用此框架。因?yàn)閼?yīng)用程序只要在獲得文件后,調(diào)用框架提供的視圖控制器就可以直接在界面中顯示文件的內(nèi)容。

如需進(jìn)一步了解該框架的類和方法,請參考Quick Look框架參考。

Store Kit 框架

iOS 3.0引入Store Kit 框架(StoreKit.framework),此框架為iOS應(yīng)用程序內(nèi)購買內(nèi)容或服務(wù)提供支持。例如,開發(fā)者可以利用此框架允許用戶解鎖應(yīng)用程序的額外功能?;蛘呒僭O(shè)您是一名游戲開發(fā)人員,則可使用此特性向玩家出售附加游戲級別。在上述的兩種情況中,Store Kit 框架會處于交易過程中和財務(wù)相關(guān)的事件,包括處理用戶通過 iTunes Store賬號發(fā)出的支付請求并且向應(yīng)用程序提供交易相關(guān)信息。

Store Kit框架主要關(guān)注交易過程中和財務(wù)相關(guān)的事務(wù),目的是為了確保交易安全準(zhǔn)確。應(yīng)用程序需要處理交易事物的其他因素,包括購買界面和下載(或者解鎖)恰當(dāng)?shù)膬?nèi)容。通過這種任務(wù)劃分方式,您就擁有購買內(nèi)容的控制權(quán),可以決定希望展示給用戶的購買界面以及何時向用戶展示這些界面,同時也可以決定和應(yīng)用程序最匹配的交付機(jī)制。

如需進(jìn)一步了解Store Kit框架的使用方式,請查看應(yīng)用程序內(nèi)購買編程指南以及Store Kit 框架參考 。

System Configuration 框架

System Configuration框架(SystemConfiguration.framework) 可用于確定設(shè)備的網(wǎng)絡(luò)配置。您可以使用該框架判斷Wi-Fi或者蜂窩連接是否正在使用中,也可以用于判斷某個主機(jī)服務(wù)是否可以使用。

如需進(jìn)一步了解此框架提供的接口,請查看System Configuration框架參考。如需通過此框架獲取網(wǎng)絡(luò)信息的示例,請訪問 Reachability樣例工程。

小結(jié):解析Core Services 層的內(nèi)容介紹完了,希望本文對你有所幫助。

本文來自:http://www.cnblogs.com/qq78292959/archive/2011/05/25/2076920.html

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-08-04 16:58:15

惠普服務(wù)刀片

2009-11-05 15:36:58

WCF service

2011-08-01 15:41:50

IOS Core OS 框架

2010-02-02 13:26:53

2012-01-12 12:47:31

Java

2011-07-07 09:54:01

Cocoa Core Foundation

2009-12-29 19:35:56

2011-04-19 13:53:41

三層架構(gòu)

2010-06-21 17:58:06

2009-10-14 14:19:00

VB.NET創(chuàng)建表示層

2011-08-25 10:55:37

services中文man

2016-09-21 21:49:37

PromiseJavascript前端

2025-03-06 02:00:00

.NETGrafana工具

2011-08-31 18:28:55

MTK

2011-08-19 13:51:12

2013-12-18 09:10:48

2010-11-26 13:55:38

Reporting S

2014-01-09 12:27:56

2011-03-09 16:10:34

MAC地址二層組播IGMP

2023-12-25 08:55:35

.NET日志框架Serilog
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號