RestKit是一款專為iOS設(shè)計(jì)的Objective-C框架,旨在與RESTful web服務(wù)的交互變得更簡(jiǎn)單快速。它基于強(qiáng)大的對(duì)象映射系統(tǒng),并且結(jié)合了一個(gè)干凈、簡(jiǎn)單的HTTP請(qǐng)求/響應(yīng)API,大大減少了開(kāi)發(fā)人員開(kāi)發(fā)過(guò)程中所需的代碼量。
主要特性
簡(jiǎn)單高層次的HTTP請(qǐng)求/響應(yīng)系統(tǒng):RestKit在NSURLConnection的基礎(chǔ)上建立了HTTP客戶端,并且提供了一個(gè)有效方法庫(kù)來(lái)檢測(cè)MIME類型和狀態(tài)碼。同時(shí)讓提交表單數(shù)據(jù)變得更簡(jiǎn)單,且一個(gè)本地參數(shù)對(duì)象還能夠輕松地創(chuàng)建多部分提交。
框架支持切換服務(wù)器以及環(huán)境:RestKit使用基本的URL和資源路徑,而不是完整的URL,讓你可以快速地切換目標(biāo)服務(wù)器。讓插值URL字符串和構(gòu)建NSURL對(duì)象成為了過(guò)去式。
Core Data支持:以對(duì)象映射層為基礎(chǔ),RestKit提供了與Apple的Core Data集成框架,用來(lái)擴(kuò)展遠(yuǎn)程資源映射到本地的對(duì)象。還提供一個(gè)很好地基于Core Data原語(yǔ)的API,用來(lái)簡(jiǎn)化配置和查詢用例。
對(duì)象映射系統(tǒng):RestKit提供了一個(gè)建模層,有利于將映射進(jìn)程數(shù)據(jù)負(fù)載到原生Cocoa對(duì)象聲明方式中去。這樣,程序員就不用擔(dān)心解析的問(wèn)題,只需簡(jiǎn)單的請(qǐng)求框架,異步獲取遠(yuǎn)程資源以及調(diào)用委托結(jié)果即可。對(duì)象映射使用的是鍵值編碼來(lái)實(shí)現(xiàn)的,允許快速遍歷解析后的對(duì)象圖。反射是用在屬性類型上,以便將遠(yuǎn)程日期編碼映射為字符串返回到NSDate對(duì)象。
生成數(shù)據(jù)庫(kù)文件:當(dāng)使用Core Data對(duì)象存儲(chǔ)時(shí),你可以從數(shù)據(jù)文件集合中生成一個(gè)數(shù)據(jù)庫(kù)文件。這樣,你就可以將你的應(yīng)用以及數(shù)據(jù)庫(kù)的應(yīng)用程序包提交到App Store中,并且可以達(dá)到立即使用的效果。
可插入解析層:RestKit目前通過(guò)SBJSON和YAJL解析器支持JSON。解析是在一個(gè)簡(jiǎn)單接口背后實(shí)現(xiàn)的,允許額外的數(shù)據(jù)格式進(jìn)行透明處理。