iOS高效開發必備的10款Objective-C類庫

來源:互聯網
上載者:User

iOS高效開發必備的10款Objective-C類庫

因為iOS SDK相對比較底層,所以開發人員就得受累多做一些體力活。不過幸運的是,有很多第三方的類庫可以用來簡化很多不必要的工作.經過作者團隊的謹慎討論,他們評選出了10款能夠極大提高iOS開發效率的類庫,根據原文作者的評價來看,基本上有了這10款工具,做iOS開發就真的跟泡Cocoa一樣了。

MBProgressHUD(進度指示符庫)

地址:https://github.com/jdg/MBProgressHUD

蘋果的應用程式一般都會用一種優雅的,半透明的進度顯示效果,不過這個API是不公開的,因此你要是用了,很可能被清除出AppStore。而 MBProgressHUD提供了一個替代方案,而且在使用者角度上,實現的效果根本看不出和官方程式有什麼差別。同時還提供了其他附加功能,比如虛擬進展 指示符,以及完成提示資訊。整合到項目裡也很容易,這裡不細談了。

ASIHttpRequest(HTTP Network庫)

地址:http://allseeing-i.com/ASIHTTPRequest/

iPhone當然也有自己的HTTP Network API,那為什麼要用ASIHttpRequest呢?因為官方的API簡直跟話癆似的,太羅嗦了!ASIHttpRequest庫極大的簡化了網路通訊,提供更先進的工具,什麼檔案上傳工具,重新導向處理工具、驗證工具、等等。只要你手頭的東西跟HTTP有關,用這個絕對能讓你感覺道生活有美好!先看一 段代碼就體會到了。

(void)loadAppDevMag { NSURL*url=[NSURLURLWithString:@"http://www.appdevmag.com"]; ASIHTTPRequest*request=[ASIHTTPRequestrequestWithURL:url]; [requestsetDelegate:self]; [requeststartAsynchronous]; }   -(void)requestFinished:(ASIHTTPRequest*)request { //Usewhenfetchingtextdata NSString*responseString=[requestresponseString]; }

JSON Framework(JSON支援)

地址:http://stig.github.com/json-framework/

如果你做的應用和網站伺服器有互動,那就得用到JSON了。但事實上,iOS平台的原生類庫根本就不支援JSON,這就略犀利了吧?不過JSON框 架滿足了你的所有需求,包括一個解析器將JSON字串解析成對象;以及一個產生器從對象產生字串。這個庫根本就是太流行了,JSON提過很多次了,具 體特點就不多講了,所謂“一段代碼勝千言”,下面用一段代碼示範一下吧。

//JSONstring->NSDictionary   NSString*jsonString=@"{\"foo\":\"bar\"}";   NSDictionary*dictionary=[jsonStringJSONValue];   NSLog(@"Dictionaryvaluefor\"foo\"is\"%@\"",[dictionaryobjectForKey:@"foo"]);   //NSDictionary->JSONstring   NSString*newJsonString=[dictionaryJSONRepresentation];

Flurry(詳盡的使用統計)

地址:http://www.flurry.com/product/analytics/index.html

通過Furry你可以得到應用的使用者人數,使用者活躍度,使用者來源等統計資訊。但是他最厲害的地方是,你可以追蹤應用本身的事件和錯誤記錄,所有這些 資料都會在一個類似Google Analytics的介面上顯示,這樣就很容易掌握使用者的行為和出現的問題。當然,這個星球上很多統計工具,但是這款是作者個人比較推崇的解決方案。

RegexKitLite(Regex支援)

地址:http://regexkit.sourceforge.net/RegexKitLite/

Regex大家都知道。但是iPhone SDK居然當他不存在?這怎麼能忍啊!果斷用RegexKitLite。雖然叫的是Lite,但是功能很full。範例程式碼。

//findsphonenumberinformatnnn-nnn-nnnn NSString*regEx=@"[0-9]{3}-[0-9]{3}-[0-9]{4}"; for(NSString*matchin[textView.textcomponentsMatchedByRegex:regEx]){ NSLog(@"Phonenumberis%@",match); }

Facebook iOS SDK(Facebook API類庫)

地址:https://github.com/facebook/facebook-ios-sdk

大體來講就是iPhone上的Facebook login,完全支援Facebook Graph API和the older REST api。如果你的應用跟Facebook有關,相信我,用這個吧。

SDWebImage(簡化網狀圖片處理)

地址:https://github.com/rs/SDWebImage

用SDWebImage調用網站上的圖片,跟本地調用內建在應用程式套件裡的圖片一樣簡單。操作也很簡單,舉例說明

[imageViewsetImageWithURL:[NSURLURLWithString:@"http://example.com/image.png"]];

類似的功能在Three20裡也有,這個過會再說。相比而言,SDWebImage主要是提供一個小而精的簡捷方便的解決方案

GData client(iPhone上所有Google相關服務的類庫)

地址:http://code.google.com/p/gdata-objectivec-client/

名字就說明一切了。跟Google相關的,值得一提的是,這個項目很開放。有很多樣本程式供下載。

CorePlot(2D圖形繪圖器)

地址:http://code.google.com/p/core-plot/

CorePlot有很多解決方案將你的資料可視,同時也會提供各種迷人的圖形效果,比如棒狀圖、餅狀圖、線狀圖等等,在他們網站上也提供了大量的範例圖形,很多股票價格應用,遊戲分數,個人財務管理都在用。

Three20(通用iOS庫)

地址:https://github.com/facebook/three20

Three20類庫是Facebook自己做的,大而全是他最大的特色。把他整合到已有的項目中可能得費點周折,不過如果一開始你就用上了Three20,尤其是牽扯到很多web相關的項目的時候,你就能深刻體會到神馬叫給力了。

其他類庫

無論是與Web互動的API、可視化資料、載入網上的圖片或建立一個社會功能的應用程式,這裡列出的庫等功能使開發更容易。如果你是一個iOS開發人員,在你的下一個項目開始之前,你一定要檢查有沒有使用這些庫。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.