幾個iOS工程通用模塊介紹
寫iOS程序的時候往往需要很多第三方框架的支持,可以大大減少工作量,講重點放在軟件本身的邏輯實現上。
GitHub里面有大量優秀的第三方框架,而且License對商業很友好。一下摘錄一下幾乎每個項目都想集成的幾個框架。
1. Mantle
Mantle讓我們能簡化Cocoa和Cocoa Touch應用的model層。簡單點說,程序中經常要進行網絡請求,請求到得一般是json字符串,我們一般會建一個Model類來存放這些數據。這就要求我們編寫一系列的序列化代碼,來把json轉換為Model。這很費時間,容易錯,不容易修改。Mantle很好的解決了這個問題,而且更易用。
</blockquote>
- GitHub : https://github.com/Mantle/Mantle
- 參考:工具篇:Mantle
源碼篇:Mantle- CocoaPod集成:pod 'Mantle', '~> 1.5.4'
</ul>2. Masonry
IB時代,如果你還在用代碼絕對布局就太low了。隨著蘋果發布iPhone6、iPhone 6 plus。iOS設備將會出現越來越豐富的屏幕尺寸,我們不可能根據每個尺寸做一套布局。所以,使用autolayout就很有必要了。在 storyboard中,可以非常方便的使用autolayout,但是為了更好的協作開發,有些公司依然在手寫布局,令人沮喪的是蘋果提供的 autolayout語法晦澀難懂,非常影響效率(你可以在這里動態查看autolayout的語法)。Masonry就是設計來解決復雜的手寫autolayout。如何優雅的使用autolayout,且看Masonry。
</blockquote>
- GitHub:https://github.com/Masonry/Masonry
- 參考:使用方法,請看README
- CocoaPod集成:pod 'Masonry', '~> 0.6.1'
</ul>3. Reachability
移動互聯網時代,應該很少有應用是不需要網絡連接的吧。監測網絡連接狀態幾乎是必不可少的一部分。Reachability可以完美的完成這一任務
</blockquote>
- GitHub:https://github.com/tonymillion/Reachability
- 參考:使用方法非常簡單,請看README
- CocoaPod集成:pod 'Reachability', '~> 3.2'
</ul>4. BlocksKit
BlocksKit絕對是Objective-C的知心伴侶,它為OC常用類提供了強大的Block語法支持,使得編寫OC代碼變得舒適、快速、優雅。反正我是絕對離不開它。
</blockquote>
- GitHub:https://github.com/zwaldowski/BlocksKit
- 參考:block使用小結、在arc中使用block、如何防止循環引用(zz)
- CocoaPod集成:pod 'BlocksKit', '~> 2.2.5'
</ul>5. KVOController
如果你在項目中有使用KVO,那么KVOController絕對是個好選擇。它是非死book開源的一個KVO增強框架。有以下幾個特性:
- 使用 Blocks、自定義 Actions 或者 NSKeyValueObserving 回調進行通知.
- 觀測者移除時無異常
- 控制器 dealloc 時隱式的觀測者移除
- 提升使用 NSKeyValueObservingInitial 的性能
- 線程安全并提供在觀測者恢復時額外的保護
</ul> </blockquote>
還有什么理由不使用KVOController呢?
- GitHub:https://github.com/非死book/KVOController
- 參考:KVOController:非死book 開源的 KVO(Key-value Observing)工具
- CocoaPod:pod 'KVOController', '~> 1.0.3'
</ul>6. MBProgressHUD
一個老牌、經典的通知組件,如果你們美工沒有專門設計等待和通知視圖,那就用它吧!
</blockquote>
- GitHub:https://github.com/jdg/MBProgressHUD
- 參考:
- CocoaPod:pod 'MBProgressHUD', '~> 0.9'
</ul>7. ODRefreshControl
很多公司都自己設計下拉刷新視圖,比如網易新聞iOS客戶端,下拉的時候會有廣告出現。如果你只是需要一個下拉刷新,那么可以考慮ODRefreshControl,它是原iOS6上的橡皮糖刷新樣式,很有意思。現在也很多大的App在用,比如蝦米音樂和QQ客戶端。
</blockquote>GitHub:https://github.com/Sephiroth87/ODRefreshControl 參考:
- CocoaPod:pod 'ODRefreshControl', '~> 1.1.0'
</ul>8. pop
又是非死book開源的。大名鼎鼎的pop,做動畫的不二之選。收下它吧。
</blockquote>
- GitHub:https://github.com/非死book/pop
- 參考:非死book Pop 使用指南 popping(pop的使用實例)
- CocoaPod:pod 'pop', '~> 1.0.7'
</ul>9. AFNetworking
Objective-C下網絡請求庫。
</blockquote>
- GitHub:https://github.com/AFNetworking/AFNetworking
- 參考
- CocoaPod:pod 'AFNetworking', '~> 2.5.0'
</ul> </div> 來自:http://www.jianshu.com/p/35ae342c60f6