幾個(gè)iOS工程通用模塊介紹

寫(xiě)iOS程序的時(shí)候往往需要很多第三方框架的支持,可以大大減少工作量,講重點(diǎn)放在軟件本身的邏輯實(shí)現(xiàn)上。

GitHub里面有大量?jī)?yōu)秀的第三方框架,而且License對(duì)商業(yè)很友好。一下摘錄一下幾乎每個(gè)項(xiàng)目都想集成的幾個(gè)框架。

1. Mantle

Mantle讓我們能簡(jiǎn)化Cocoa和Cocoa Touch應(yīng)用的model層。簡(jiǎn)單點(diǎn)說(shuō),程序中經(jīng)常要進(jìn)行網(wǎng)絡(luò)請(qǐng)求,請(qǐng)求到得一般是json字符串,我們一般會(huì)建一個(gè)Model類來(lái)存放這些數(shù)據(jù)。這就要求我們編寫(xiě)一系列的序列化代碼,來(lái)把json轉(zhuǎn)換為Model。這很費(fèi)時(shí)間,容易錯(cuò),不容易修改。Mantle很好的解決了這個(gè)問(wèn)題,而且更易用。

2. Masonry

IB時(shí)代,如果你還在用代碼絕對(duì)布局就太low了。隨著蘋(píng)果發(fā)布iPhone6、iPhone 6 plus。iOS設(shè)備將會(huì)出現(xiàn)越來(lái)越豐富的屏幕尺寸,我們不可能根據(jù)每個(gè)尺寸做一套布局。所以,使用autolayout就很有必要了。在storyboard中,可以非常方便的使用autolayout,但是為了更好的協(xié)作開(kāi)發(fā),有些公司依然在手寫(xiě)布局,令人沮喪的是蘋(píng)果提供的autolayout語(yǔ)法晦澀難懂,非常影響效率(你可以在這里動(dòng)態(tài)查看autolayout的語(yǔ)法)。Masonry就是設(shè)計(jì)來(lái)解決復(fù)雜的手寫(xiě)autolayout。如何優(yōu)雅的使用autolayout,且看Masonry。

3. Reachability

移動(dòng)互聯(lián)網(wǎng)時(shí)代,應(yīng)該很少有應(yīng)用是不需要網(wǎng)絡(luò)連接的吧。監(jiān)測(cè)網(wǎng)絡(luò)連接狀態(tài)幾乎是必不可少的一部分。Reachability可以完美的完成這一任務(wù)

4. BlocksKit

BlocksKit絕對(duì)是Objective-C的知心伴侶,它為OC常用類提供了強(qiáng)大的Block語(yǔ)法支持,使得編寫(xiě)OC代碼變得舒適、快速、優(yōu)雅。反正我是絕對(duì)離不開(kāi)它。

5. KVOController

如果你在項(xiàng)目中有使用KVO,那么KVOController絕對(duì)是個(gè)好選擇。它是facebook開(kāi)源的一個(gè)KVO增強(qiáng)框架。有以下幾個(gè)特性:

6. MBProgressHUD

一個(gè)老牌、經(jīng)典的通知組件,如果你們美工沒(méi)有專門(mén)設(shè)計(jì)等待和通知視圖,那就用它吧!

7. ODRefreshControl

很多公司都自己設(shè)計(jì)下拉刷新視圖,比如網(wǎng)易新聞iOS客戶端,下拉的時(shí)候會(huì)有廣告出現(xiàn)。如果你只是需要一個(gè)下拉刷新,那么可以考慮ODRefreshControl,它是原iOS6上的橡皮糖刷新樣式,很有意思。現(xiàn)在也很多大的App在用,比如蝦米音樂(lè)和QQ客戶端。

*GitHub:https://github.com/Sephiroth87/ODRefreshControl
*參考:

  • CocoaPod:pod 'ODRefreshControl', '~> 1.1.0'

8. pop

又是Facebook開(kāi)源的。大名鼎鼎的pop,做動(dòng)畫(huà)的不二之選。收下它吧。

9. AFNetworking

Objective-C下網(wǎng)絡(luò)請(qǐng)求庫(kù)。

附加幾個(gè)

10. SDWebImage

幫助你異步加載網(wǎng)絡(luò)圖片,當(dāng)然,它有緩存功能。簡(jiǎn)單、實(shí)用、功能強(qiáng)大。

11. TTTAttributedLabel

TTTAttributedLabel 是功能強(qiáng)大的UILabel,包含大部分對(duì)UILabel的定制。如果你想讓一個(gè)UILabel可以點(diǎn)擊并截取它,那么使用TTTAttributedLabel吧

  • 使用請(qǐng)參考相應(yīng)文檔

  • CocoaPod:pod 'TTTAttributedLabel'

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容